diff options
author | Zach Copley <zach@status.net> | 2010-03-12 02:00:53 +0000 |
---|---|---|
committer | Zach Copley <zach@status.net> | 2010-03-12 02:00:53 +0000 |
commit | d10cb89f6ad13729de8ac620560f53a3f0d968c2 (patch) | |
tree | b4fe34fae0ee27d1a61f0288988f9c6cef775ba9 /actions/apitimelinepublic.php | |
parent | e1537d83871811cf3446a592e44f56d26e961afe (diff) |
- Output correct content type header for public timeline Atom feed
- Also calculate Atom link and self links properly
Diffstat (limited to 'actions/apitimelinepublic.php')
-rw-r--r-- | actions/apitimelinepublic.php | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/actions/apitimelinepublic.php b/actions/apitimelinepublic.php index 3e4dad690..903461425 100644 --- a/actions/apitimelinepublic.php +++ b/actions/apitimelinepublic.php @@ -107,7 +107,8 @@ class ApiTimelinePublicAction extends ApiPrivateAuthAction $title = sprintf(_("%s public timeline"), $sitename); $taguribase = TagURI::base(); $id = "tag:$taguribase:PublicTimeline"; - $link = common_root_url(); + $link = common_local_url('public'); + $self = $this->getSelfUri(); $subtitle = sprintf(_("%s updates from everyone!"), $sitename); switch($this->format) { @@ -115,10 +116,20 @@ class ApiTimelinePublicAction extends ApiPrivateAuthAction $this->showXmlTimeline($this->notices); break; case 'rss': - $this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $sitelogo); + $this->showRssTimeline( + $this->notices, + $title, + $link, + $subtitle, + null, + $sitelogo, + $self + ); break; case 'atom': + header('Content-Type: application/atom+xml; charset=utf-8'); + $atom = new AtomNoticeFeed(); $atom->setId($id); @@ -126,16 +137,8 @@ class ApiTimelinePublicAction extends ApiPrivateAuthAction $atom->setSubtitle($subtitle); $atom->setLogo($sitelogo); $atom->setUpdated('now'); - $atom->addLink(common_local_url('public')); - - $atom->addLink( - $this->getSelfUri( - 'ApiTimelinePublic', array('format' => 'atom') - ), - array('rel' => 'self', 'type' => 'application/atom+xml') - ); - + $atom->setSelfLink($self); $atom->addEntryFromNotices($this->notices); $this->raw($atom->getString()); |