X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fatomusernoticefeed.php;h=5ca089b859a85d753f7af13903e598e9eb876d95;hb=f9b2feb7f563663d6b564a3cb9223b7c1ea5ecef;hp=6485aaa43dc3bb94992f6c477660a63cb34c30dc;hpb=2526a5ae94df92afc667f6e50c51843a7b346586;p=quix0rs-gnu-social.git diff --git a/lib/atomusernoticefeed.php b/lib/atomusernoticefeed.php index 6485aaa43d..5ca089b859 100644 --- a/lib/atomusernoticefeed.php +++ b/lib/atomusernoticefeed.php @@ -44,25 +44,65 @@ if (!defined('STATUSNET')) */ class AtomUserNoticeFeed extends AtomNoticeFeed { - private $user; + protected $user; /** * Constructor * - * @param User $user the user for the feed (optional) + * @param User $user the user for the feed + * @param User $cur the current authenticated user, if any * @param boolean $indent flag to turn indenting on or off * * @return void */ - - function __construct($user = null, $indent = true) { - parent::__construct($indent); + function __construct($user, $cur = null, $indent = true) { + parent::__construct($cur, $indent); $this->user = $user; if (!empty($user)) { $profile = $user->getProfile(); - $this->addAuthor($profile->nickname, $user->uri); - $this->setActivitySubject($profile->asActivityNoun('subject')); + $ao = ActivityObject::fromProfile($profile); + $this->addAuthorRaw($ao->asString('author')); } + + // TRANS: Title in atom user notice feed. %s is a user name. + $title = sprintf(_("%s timeline"), $user->nickname); + $this->setTitle($title); + + $sitename = common_config('site', 'name'); + $subtitle = sprintf( + // TRANS: Message is used as a subtitle in atom user notice feed. + // TRANS: %1$s is a user name, %2$s is a site name. + _('Updates from %1$s on %2$s!'), + $user->nickname, $sitename + ); + $this->setSubtitle($subtitle); + + $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE); + $logo = ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE); + $this->setLogo($logo); + + $this->setUpdated('now'); + + $this->addLink( + common_local_url( + 'showstream', + array('nickname' => $user->nickname) + ) + ); + + $self = common_local_url('ApiTimelineUser', + array('id' => $user->id, + 'format' => 'atom')); + $this->setId($self); + $this->setSelfLink($self); + + $this->addLink( + common_local_url('sup', null, null, $user->id), + array( + 'rel' => 'http://api.friendfeed.com/2008/03#sup', + 'type' => 'application/json' + ) + ); } function getUser()