diff options
author | Brion Vibber <brion@pobox.com> | 2010-03-12 09:41:49 -0800 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-03-12 09:41:49 -0800 |
commit | f72eb17304af9c2d7dac8a34b07bd2433b79c8c4 (patch) | |
tree | 3862aab32eae74edba8fa1b2aa9a62288c544af4 /actions | |
parent | f3066c80d3c55dd0dbf8315674a76e4d2adbe49a (diff) | |
parent | 3dc84dd02d5558b7e2e9de903eac04edcd73aec7 (diff) |
Merge commit 'origin/testing' into 0.9.x
Diffstat (limited to 'actions')
-rw-r--r-- | actions/apitimelinefavorites.php | 36 | ||||
-rw-r--r-- | actions/apitimelinefriends.php | 39 | ||||
-rw-r--r-- | actions/apitimelinegroup.php | 17 | ||||
-rw-r--r-- | actions/apitimelinehome.php | 39 | ||||
-rw-r--r-- | actions/apitimelinementions.php | 34 | ||||
-rw-r--r-- | actions/apitimelinepublic.php | 25 | ||||
-rw-r--r-- | actions/apitimelinetag.php | 38 | ||||
-rw-r--r-- | actions/apitimelineuser.php | 25 |
8 files changed, 101 insertions, 152 deletions
diff --git a/actions/apitimelinefavorites.php b/actions/apitimelinefavorites.php index c89d02247..8cb2e808d 100644 --- a/actions/apitimelinefavorites.php +++ b/actions/apitimelinefavorites.php @@ -23,7 +23,8 @@ * @package StatusNet * @author Craig Andrews <candrews@integralblue.com> * @author Evan Prodromou <evan@status.net> - * @author Zach Copley <zach@status.net> * @copyright 2009 StatusNet, Inc. + * @author Zach Copley <zach@status.net> + * @copyright 2009-2010 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ @@ -123,22 +124,26 @@ class ApiTimelineFavoritesAction extends ApiBareAuthAction ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE); + $link = common_local_url( + 'showfavorites', + array('nickname' => $this->user->nickname) + ); + + $self = $this->getSelfUri(); + switch($this->format) { case 'xml': $this->showXmlTimeline($this->notices); break; case 'rss': - $link = common_local_url( - 'showfavorites', - array('nickname' => $this->user->nickname) - ); $this->showRssTimeline( $this->notices, $title, $link, $subtitle, null, - $logo + $logo, + $self ); break; case 'atom': @@ -153,23 +158,8 @@ class ApiTimelineFavoritesAction extends ApiBareAuthAction $atom->setLogo($logo); $atom->setUpdated('now'); - $atom->addLink( - common_local_url( - 'showfavorites', - array('nickname' => $this->user->nickname) - ) - ); - - $id = $this->arg('id'); - $aargs = array('format' => 'atom'); - if (!empty($id)) { - $aargs['id'] = $id; - } - - $atom->addLink( - $this->getSelfUri('ApiTimelineFavorites', $aargs), - array('rel' => 'self', 'type' => 'application/atom+xml') - ); + $atom->addLink($link); + $atom->setSelfLink($self); $atom->addEntryFromNotices($this->notices); diff --git a/actions/apitimelinefriends.php b/actions/apitimelinefriends.php index 9ef3ace60..ac350ab1b 100644 --- a/actions/apitimelinefriends.php +++ b/actions/apitimelinefriends.php @@ -117,9 +117,17 @@ class ApiTimelineFriendsAction extends ApiBareAuthAction $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); @@ -130,19 +138,14 @@ class ApiTimelineFriendsAction extends ApiBareAuthAction 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': @@ -156,24 +159,8 @@ class ApiTimelineFriendsAction extends ApiBareAuthAction $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); diff --git a/actions/apitimelinegroup.php b/actions/apitimelinegroup.php index 8f971392b..da816c40a 100644 --- a/actions/apitimelinegroup.php +++ b/actions/apitimelinegroup.php @@ -107,6 +107,8 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction // We'll pull common formatting out of this for other formats $atom = new AtomGroupNoticeFeed($this->group); + $self = $this->getSelfUri(); + switch($this->format) { case 'xml': $this->showXmlTimeline($this->notices); @@ -118,7 +120,8 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction $this->group->homeUrl(), $atom->subtitle, null, - $atom->logo + $atom->logo, + $self ); break; case 'atom': @@ -126,24 +129,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/apitimelinehome.php b/actions/apitimelinehome.php index abd387786..1618c9923 100644 --- a/actions/apitimelinehome.php +++ b/actions/apitimelinehome.php @@ -72,7 +72,7 @@ class ApiTimelineHomeAction extends ApiBareAuthAction function prepare($args) { parent::prepare($args); - common_debug("api home_timeline"); + $this->user = $this->getTargetUser($this->arg('id')); if (empty($this->user)) { @@ -121,8 +121,15 @@ class ApiTimelineHomeAction extends ApiBareAuthAction $this->user->nickname, $sitename ); - $logo = (!empty($avatar)) - ? $avatar->displayUrl() + $link = common_local_url( + 'all', + array('nickname' => $this->user->nickname) + ); + + $self = $this->getSelfUri(); + + $logo = (!empty($avatar)) + ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE); switch($this->format) { @@ -130,17 +137,14 @@ class ApiTimelineHomeAction extends ApiBareAuthAction $this->showXmlTimeline($this->notices); 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': @@ -155,23 +159,8 @@ class ApiTimelineHomeAction extends ApiBareAuthAction $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('ApiTimelineHome', $aargs), - array('rel' => 'self', 'type' => 'application/atom+xml') - ); + $atom->addLink($link); + $atom->setSelfLink($self); $atom->addEntryFromNotices($this->notices); $this->raw($atom->getString()); diff --git a/actions/apitimelinementions.php b/actions/apitimelinementions.php index 31627ab7b..c3aec7c5a 100644 --- a/actions/apitimelinementions.php +++ b/actions/apitimelinementions.php @@ -123,6 +123,9 @@ class ApiTimelineMentionsAction extends ApiBareAuthAction 'replies', array('nickname' => $this->user->nickname) ); + + $self = $this->getSelfUri(); + $subtitle = sprintf( _('%1$s updates that reply to updates from %2$s / %3$s.'), $sitename, $this->user->nickname, $profile->getBestName() @@ -134,10 +137,20 @@ class ApiTimelineMentionsAction extends ApiBareAuthAction $this->showXmlTimeline($this->notices); break; case 'rss': - $this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $logo); + $this->showRssTimeline( + $this->notices, + $title, + $link, + $subtitle, + null, + $logo, + $self + ); break; case 'atom': + header('Content-Type: application/atom+xml; charset=utf-8'); + $atom = new AtomNoticeFeed(); $atom->setId($id); @@ -146,23 +159,8 @@ class ApiTimelineMentionsAction extends ApiBareAuthAction $atom->setLogo($logo); $atom->setUpdated('now'); - $atom->addLink( - common_local_url( - 'replies', - array('nickname' => $this->user->nickname) - ) - ); - - $id = $this->arg('id'); - $aargs = array('format' => 'atom'); - if (!empty($id)) { - $aargs['id'] = $id; - } - - $atom->addLink( - $this->getSelfUri('ApiTimelineMentions', $aargs), - array('rel' => 'self', 'type' => 'application/atom+xml') - ); + $atom->addLink($link); + $atom->setSelfLink($self); $atom->addEntryFromNotices($this->notices); $this->raw($atom->getString()); 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()); diff --git a/actions/apitimelinetag.php b/actions/apitimelinetag.php index a29061fcc..fed1437ea 100644 --- a/actions/apitimelinetag.php +++ b/actions/apitimelinetag.php @@ -25,7 +25,7 @@ * @author Evan Prodromou <evan@status.net> * @author Jeffery To <jeffery.to@gmail.com> * @author Zach Copley <zach@status.net> - * @copyright 2009 StatusNet, Inc. + * @copyright 2009-2010 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ @@ -67,6 +67,8 @@ class ApiTimelineTagAction extends ApiPrivateAuthAction { parent::prepare($args); + common_debug("apitimelinetag prepare()"); + $this->tag = $this->arg('tag'); $this->notices = $this->getNotices(); @@ -108,22 +110,28 @@ class ApiTimelineTagAction extends ApiPrivateAuthAction $taguribase = TagURI::base(); $id = "tag:$taguribase:TagTimeline:".$tag; + $link = common_local_url( + 'tag', + array('tag' => $this->tag) + ); + + $self = $this->getSelfUri(); + + common_debug("self link is: $self"); + switch($this->format) { case 'xml': $this->showXmlTimeline($this->notices); break; case 'rss': - $link = common_local_url( - 'tag', - array('tag' => $this->tag) - ); $this->showRssTimeline( $this->notices, $title, $link, $subtitle, null, - $sitelogo + $sitelogo, + $self ); break; case 'atom': @@ -138,22 +146,8 @@ class ApiTimelineTagAction extends ApiPrivateAuthAction $atom->setLogo($logo); $atom->setUpdated('now'); - $atom->addLink( - common_local_url( - 'tag', - array('tag' => $this->tag) - ) - ); - - $aargs = array('format' => 'atom'); - if (!empty($this->tag)) { - $aargs['tag'] = $this->tag; - } - - $atom->addLink( - $this->getSelfUri('ApiTimelineTag', $aargs), - array('rel' => 'self', 'type' => 'application/atom+xml') - ); + $atom->addLink($link); + $atom->setSelfLink($self); $atom->addEntryFromNotices($this->notices); $this->raw($atom->getString()); diff --git a/actions/apitimelineuser.php b/actions/apitimelineuser.php index 2d0047c04..11431a82c 100644 --- a/actions/apitimelineuser.php +++ b/actions/apitimelineuser.php @@ -116,13 +116,13 @@ 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; + + $self = $this->getSelfUri(); // FriendFeed's SUP protocol // Also added RSS and Atom feeds @@ -136,25 +136,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; |