summaryrefslogtreecommitdiff
path: root/actions
diff options
context:
space:
mode:
authorZach Copley <zach@status.net>2010-03-11 23:43:03 +0000
committerZach Copley <zach@status.net>2010-03-11 23:43:03 +0000
commit212b20e876fac3b989cd79b1b896b88f50995a37 (patch)
tree9911fac8e7595e83b38ed791e4e23b818ab4adfe /actions
parent7e1a1506f5afd26da8dbe654f5f67f5c11d9d6e9 (diff)
Add self link to user and group rss2 feeds
Diffstat (limited to 'actions')
-rw-r--r--actions/apitimelinegroup.php23
-rw-r--r--actions/apitimelineuser.php31
2 files changed, 27 insertions, 27 deletions
diff --git a/actions/apitimelinegroup.php b/actions/apitimelinegroup.php
index 8f971392b..c4f8cbc65 100644
--- a/actions/apitimelinegroup.php
+++ b/actions/apitimelinegroup.php
@@ -107,6 +107,14 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction
// We'll pull common formatting out of this for other formats
$atom = new AtomGroupNoticeFeed($this->group);
+ // Calculate self link
+ $id = $this->arg('id');
+ $aargs = array('format' => $this->format);
+ if (!empty($id)) {
+ $aargs['id'] = $id;
+ }
+ $self = $this->getSelfUri('ApiTimelineGroup', $aargs);
+
switch($this->format) {
case 'xml':
$this->showXmlTimeline($this->notices);
@@ -118,7 +126,8 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction
$this->group->homeUrl(),
$atom->subtitle,
null,
- $atom->logo
+ $atom->logo,
+ $self
);
break;
case 'atom':
@@ -126,24 +135,12 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction
header('Content-Type: application/atom+xml; charset=utf-8');
try {
-
$atom->addAuthorRaw($this->group->asAtomAuthor());
$atom->setActivitySubject($this->group->asActivitySubject());
-
- $id = $this->arg('id');
- $aargs = array('format' => 'atom');
- if (!empty($id)) {
- $aargs['id'] = $id;
- }
- $self = $this->getSelfUri('ApiTimelineGroup', $aargs);
-
$atom->setId($self);
$atom->setSelfLink($self);
-
$atom->addEntryFromNotices($this->notices);
-
$this->raw($atom->getString());
-
} catch (Atom10FeedException $e) {
$this->serverError(
'Could not generate feed for group - ' . $e->getMessage()
diff --git a/actions/apitimelineuser.php b/actions/apitimelineuser.php
index 2d0047c04..5c4bcace4 100644
--- a/actions/apitimelineuser.php
+++ b/actions/apitimelineuser.php
@@ -116,13 +116,19 @@ class ApiTimelineUserAction extends ApiBareAuthAction
// We'll use the shared params from the Atom stub
// for other feed types.
$atom = new AtomUserNoticeFeed($this->user);
- $title = $atom->title;
- $link = common_local_url(
+
+ $link = common_local_url(
'showstream',
array('nickname' => $this->user->nickname)
);
- $subtitle = $atom->subtitle;
- $logo = $atom->logo;
+
+ // Calculate self link
+ $id = $this->arg('id');
+ $aargs = array('format' => $this->format);
+ if (!empty($id)) {
+ $aargs['id'] = $id;
+ }
+ $self = $this->getSelfUri('ApiTimelineUser', $aargs);
// FriendFeed's SUP protocol
// Also added RSS and Atom feeds
@@ -136,25 +142,22 @@ class ApiTimelineUserAction extends ApiBareAuthAction
break;
case 'rss':
$this->showRssTimeline(
- $this->notices, $title, $link,
- $subtitle, $suplink, $logo
+ $this->notices,
+ $atom->title,
+ $link,
+ $atom->subtitle,
+ $suplink,
+ $atom->logo,
+ $self
);
break;
case 'atom':
header('Content-Type: application/atom+xml; charset=utf-8');
- $id = $this->arg('id');
- $aargs = array('format' => 'atom');
- if (!empty($id)) {
- $aargs['id'] = $id;
- }
- $self = $this->getSelfUri('ApiTimelineUser', $aargs);
$atom->setId($self);
$atom->setSelfLink($self);
-
$atom->addEntryFromNotices($this->notices);
-
$this->raw($atom->getString());
break;