summaryrefslogtreecommitdiff
path: root/actions/apitimelinepublic.php
diff options
context:
space:
mode:
authorZach Copley <zach@status.net>2010-03-12 02:00:53 +0000
committerZach Copley <zach@status.net>2010-03-12 02:00:53 +0000
commitd10cb89f6ad13729de8ac620560f53a3f0d968c2 (patch)
treeb4fe34fae0ee27d1a61f0288988f9c6cef775ba9 /actions/apitimelinepublic.php
parente1537d83871811cf3446a592e44f56d26e961afe (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.php25
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());