$avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
$sitename = common_config('site', 'name');
$title = sprintf(_("%s and friends"), $this->user->nickname);
- $taguribase = common_config('integration', 'taguri');
+ $taguribase = TagURI::base();
$id = "tag:$taguribase:FriendsTimeline:" . $this->user->id;
$subtitle = sprintf(
_('Updates from %1$s and friends on %2$s!'),
- $this->user->nickname, $sitename
+ $this->user->nickname,
+ $sitename
);
+ $link = common_local_url(
+ 'all',
+ array('nickname' => $this->user->nickname)
+ );
+
+ $self = $this->getSelfUri();
+
$logo = (!empty($avatar))
? $avatar->displayUrl()
: Avatar::defaultImage(AVATAR_PROFILE_SIZE);
break;
case 'rss':
- $link = common_local_url(
- 'all', array(
- 'nickname' => $this->user->nickname
- )
- );
-
$this->showRssTimeline(
$this->notices,
$title,
$link,
$subtitle,
null,
- $logo
+ $logo,
+ $self
);
break;
case 'atom':
header('Content-Type: application/atom+xml; charset=utf-8');
- $atom = new AtomNoticeFeed();
+ $atom = new AtomNoticeFeed($this->auth_user);
$atom->setId($id);
$atom->setTitle($title);
$atom->setSubtitle($subtitle);
$atom->setLogo($logo);
$atom->setUpdated('now');
-
- $atom->addLink(
- common_local_url(
- 'all',
- array('nickname' => $this->user->nickname)
- )
- );
-
- $id = $this->arg('id');
- $aargs = array('format' => 'atom');
- if (!empty($id)) {
- $aargs['id'] = $id;
- }
-
- $atom->addLink(
- $this->getSelfUri('ApiTimelineFriends', $aargs),
- array('rel' => 'self', 'type' => 'application/atom+xml')
- );
+ $atom->addLink($link);
+ $atom->setSelfLink($self);
$atom->addEntryFromNotices($this->notices);
if (!empty($this->auth_user) && $this->auth_user->id == $this->user->id) {
$notice = $this->user->ownFriendsTimeline(($this->page-1) * $this->count,
$this->count, $this->since_id,
- $this->max_id, $this->since);
+ $this->max_id);
} else {
$notice = $this->user->friendsTimeline(($this->page-1) * $this->count,
$this->count, $this->since_id,
- $this->max_id, $this->since);
+ $this->max_id);
}
while ($notice->fetch()) {