);
}
+ public function getUri()
+ {
+ return $this->uri;
+ }
+
/**
* Fetch the StatusNet-side profile for this feed
* @return Profile
return true;
} else if ($this->group_id && ($this->profile_id || $this->peopletag_id)) {
// TRANS: Server exception. %s is a URI
- throw new ServerException(sprintf(_m('Invalid ostatus_profile state: Two or more IDs set for %s.'), $this->uri));
+ throw new ServerException(sprintf(_m('Invalid ostatus_profile state: Two or more IDs set for %s.'), $this->getUri()));
} else {
// TRANS: Server exception. %s is a URI
- throw new ServerException(sprintf(_m('Invalid ostatus_profile state: All IDs empty for %s.'), $this->uri));
+ throw new ServerException(sprintf(_m('Invalid ostatus_profile state: All IDs empty for %s.'), $this->getUri()));
}
}
return true;
} else if ($this->peopletag_id && ($this->profile_id || $this->group_id)) {
// TRANS: Server exception. %s is a URI
- throw new ServerException(sprintf(_m('Invalid ostatus_profile state: Two or more IDs set for %s.'), $this->uri));
+ throw new ServerException(sprintf(_m('Invalid ostatus_profile state: Two or more IDs set for %s.'), $this->getUri()));
} else {
// TRANS: Server exception. %s is a URI
- throw new ServerException(sprintf(_m('Invalid ostatus_profile state: All IDs empty for %s.'), $this->uri));
+ throw new ServerException(sprintf(_m('Invalid ostatus_profile state: All IDs empty for %s.'), $this->getUri()));
}
}
* @param Profile $actor
* @return boolean success
*/
- public function notifyActivity($entry, $actor)
+ public function notifyActivity($entry, Profile $actor)
{
if ($this->salmonuri) {
$salmon = new Salmon();
return $salmon->post($this->salmonuri, $this->notifyPrepXml($entry), $actor);
}
+ common_debug(__CLASS__.' error: No salmonuri for Ostatus_profile uri: '.$this->uri);
return false;
}
*/
protected function filterAttention($sender, array $attention)
{
- common_log(LOG_DEBUG, "Original reply recipients: " . implode(', ', $attention));
+ common_log(LOG_DEBUG, "Original reply recipients: " . implode(', ', array_keys($attention)));
$groups = array();
$replies = array();
foreach ($attention as $recipient=>$type) {
$groups[] = $oprofile->group_id;
} else {
// may be canonicalized or something
- $replies[] = $oprofile->uri;
+ $replies[] = $oprofile->getUri();
}
continue;
} catch (Exception $e) {
$huburi = $discover->getHubLink();
$hints['hub'] = $huburi;
- $salmonuri = $discover->getAtomLink(Salmon::NS_REPLIES);
+
+ // XXX: NS_REPLIES is deprecated anyway, so let's remove it in the future.
+ $salmonuri = $discover->getAtomLink(Salmon::REL_SALMON)
+ ?: $discover->getAtomLink(Salmon::NS_REPLIES);
$hints['salmon'] = $salmonuri;
if (!$huburi && !common_config('feedsub', 'fallback_hub')) {
throw new ServerException(sprintf(
// TRANS: Server exception. %s is a URI.
_m('Tried to update avatar for unsaved remote profile %s.'),
- $this->uri));
+ $this->getUri()));
}
// @todo FIXME: This should be better encapsulated
}
$user = User::getKV('uri', $homeuri);
- if ($user) {
+ if ($user instanceof User) {
// TRANS: Exception.
throw new Exception(_m('Local user cannot be referenced as remote.'));
}
$discover = new FeedDiscovery();
$discover->discoverFromFeedURL($hints['feedurl']);
}
- $salmonuri = $discover->getAtomLink(Salmon::NS_REPLIES);
+ // XXX: NS_REPLIES is deprecated anyway, so let's remove it in the future.
+ $salmonuri = $discover->getAtomLink(Salmon::REL_SALMON)
+ ?: $discover->getAtomLink(Salmon::NS_REPLIES);
}
if (array_key_exists('hub', $hints)) {
$oprofile = Ostatus_profile::getKV('uri', 'acct:'.$addr);
if ($oprofile instanceof Ostatus_profile) {
- self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->uri);
+ self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->getUri());
return $oprofile;
}
try {
common_log(LOG_INFO, "Discovery on acct:$addr with feed URL " . $hints['feedurl']);
$oprofile = self::ensureFeedURL($hints['feedurl'], $hints);
- self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->uri);
+ self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->getUri());
return $oprofile;
} catch (Exception $e) {
common_log(LOG_WARNING, "Failed creating profile from feed URL '$feedUrl': " . $e->getMessage());
try {
common_log(LOG_INFO, "Discovery on acct:$addr with profile URL $profileUrl");
$oprofile = self::ensureProfileURL($hints['profileurl'], $hints);
- self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->uri);
+ self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->getUri());
return $oprofile;
} catch (OStatusShadowException $e) {
// We've ended up with a remote reference to a local user or group.
throw new Exception(sprintf(_m('Could not save OStatus profile for "%s".'),$addr));
}
- self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->uri);
+ self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->getUri());
return $oprofile;
}
// Groups can't post notices in StatusNet.
common_log(LOG_WARNING,
"OStatus: skipping post with group listed ".
- "as author: $oprofile->uri in feed from $this->uri");
+ "as author: " . $oprofile->getUri() . " in feed from " . $this->getUri());
return false;
}
} else {
if (empty($actor)) {
// OK here! assume the default
- } else if ($actor->id == $this->uri || $actor->link == $this->uri) {
+ } else if ($actor->id == $this->getUri() || $actor->link == $this->getUri()) {
$this->updateFromActivityObject($actor);
} else if ($actor->id) {
// We have an ActivityStreams actor with an explicit ID that doesn't match the feed owner.
// Most likely this is a plain ol' blog feed of some kind which
// doesn't match our expectations. We'll take the entry, but ignore
// the <author> info.
- common_log(LOG_WARNING, "Got an actor '{$actor->title}' ({$actor->id}) on single-user feed for {$this->uri}");
+ common_log(LOG_WARNING, "Got an actor '{$actor->title}' ({$actor->id}) on single-user feed for " . $this->getUri());
} else {
// Plain <author> without ActivityStreams actor info.
// We'll just ignore this info for now and save the update under the feed's identity.