Add Atom self link to tag timeline

This commit is contained in:
Zach Copley 2010-03-12 04:08:31 +00:00
parent d31004653f
commit 13556e7ba9
2 changed files with 21 additions and 22 deletions

View File

@ -25,7 +25,7 @@
* @author Evan Prodromou <evan@status.net> * @author Evan Prodromou <evan@status.net>
* @author Jeffery To <jeffery.to@gmail.com> * @author Jeffery To <jeffery.to@gmail.com>
* @author Zach Copley <zach@status.net> * @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 * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/ * @link http://status.net/
*/ */
@ -67,6 +67,8 @@ class ApiTimelineTagAction extends ApiPrivateAuthAction
{ {
parent::prepare($args); parent::prepare($args);
common_debug("apitimelinetag prepare()");
$this->tag = $this->arg('tag'); $this->tag = $this->arg('tag');
$this->notices = $this->getNotices(); $this->notices = $this->getNotices();
@ -108,22 +110,28 @@ class ApiTimelineTagAction extends ApiPrivateAuthAction
$taguribase = TagURI::base(); $taguribase = TagURI::base();
$id = "tag:$taguribase:TagTimeline:".$tag; $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) { switch($this->format) {
case 'xml': case 'xml':
$this->showXmlTimeline($this->notices); $this->showXmlTimeline($this->notices);
break; break;
case 'rss': case 'rss':
$link = common_local_url(
'tag',
array('tag' => $this->tag)
);
$this->showRssTimeline( $this->showRssTimeline(
$this->notices, $this->notices,
$title, $title,
$link, $link,
$subtitle, $subtitle,
null, null,
$sitelogo $sitelogo,
$self
); );
break; break;
case 'atom': case 'atom':
@ -138,22 +146,8 @@ class ApiTimelineTagAction extends ApiPrivateAuthAction
$atom->setLogo($logo); $atom->setLogo($logo);
$atom->setUpdated('now'); $atom->setUpdated('now');
$atom->addLink( $atom->addLink($link);
common_local_url( $atom->setSelfLink($self);
'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->addEntryFromNotices($this->notices); $atom->addEntryFromNotices($this->notices);
$this->raw($atom->getString()); $this->raw($atom->getString());

View File

@ -1374,6 +1374,11 @@ class ApiAction extends Action
$aargs['id'] = $id; $aargs['id'] = $id;
} }
$tag = $this->arg('tag');
if (!empty($tag)) {
$aargs['tag'] = $tag;
}
parse_str($_SERVER['QUERY_STRING'], $params); parse_str($_SERVER['QUERY_STRING'], $params);
$pstring = ''; $pstring = '';
if (!empty($params)) { if (!empty($params)) {