*/
class AtomUserNoticeFeed extends AtomNoticeFeed
{
- private $user;
+ protected $user;
/**
* Constructor
*
* @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, $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 = $profile->asActivityObject();
+
+ array_push($ao->extra, $profile->profileInfo($this->scoped));
+
+ $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->setLogo($profile->avatarUrl(AVATAR_PROFILE_SIZE));
$this->setUpdated('now');
array('nickname' => $user->nickname)
)
);
-
+
$self = common_local_url('ApiTimelineUser',
array('id' => $user->id,
'format' => 'atom'));