X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Ftagrss.php;h=5f4831d2214e9a500c0d9ea36366670955cd6f48;hb=f44e0330df8ffd18786dbeb2e0a6ad4e2641046a;hp=9187bdc873e1f53a21e111192839c3de6d7aee43;hpb=8250d8a350f91494a4ca5d71e711aa5ecd91dff5;p=quix0rs-gnu-social.git diff --git a/actions/tagrss.php b/actions/tagrss.php index 9187bdc873..5f4831d221 100644 --- a/actions/tagrss.php +++ b/actions/tagrss.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/rssaction.php'); // Formatting of RSS handled by Rss10Action +class TagrssAction extends Rss10Action +{ + var $tag; -class TagrssAction extends Rss10Action { + function prepare($args) { + parent::prepare($args); + $tag = common_canonical_tag($this->trimmed('tag')); + $this->tag = Notice_tag::staticGet('tag', $tag); + if (!$this->tag) { + // TRANS: Client error when requesting a tag feed for a non-existing tag. + $this->clientError(_('No such tag.')); + return false; + } else { + $this->notices = $this->getNotices($this->limit); + return true; + } + } - function init() { - $tag = $this->trimmed('tag'); - $this->tag = Notice_tag::staticGet('tag', $tag); + function getNotices($limit=0) + { + $tag = $this->tag; - if (!$this->tag) { - common_user_error(_('No such tag.')); - return false; - } else { - return true; - } - } + if (is_null($tag)) { + return null; + } - function get_notices($limit=0) { - $tag = $this->tag; + $notice = Notice_tag::getStream($tag->tag, 0, ($limit == 0) ? NOTICES_PER_PAGE : $limit); + while ($notice->fetch()) { + $notices[] = clone($notice); + } - if (is_null($tag)) { - return NULL; - } + return $notices; + } - $notice = Notice_tag::getStream($tag->tag, 0, ($limit == 0) ? NOTICES_PER_PAGE : $limit); + function getChannel() + { + $tagname = $this->tag->tag; + $c = array('url' => common_local_url('tagrss', array('tag' => $tagname)), + 'title' => $tagname, + 'link' => common_local_url('tagrss', array('tag' => $tagname)), + // TRANS: Tag feed description. + // TRANS: %1$s is the tag name, %2$s is the StatusNet sitename. + 'description' => sprintf(_('Updates tagged with %1$s on %2$s!'), + $tagname, common_config('site', 'name'))); + return $c; + } - while ($notice->fetch()) { - $notices[] = clone($notice); - } - - return $notices; - } - - function get_channel() { - $tag = $this->tag->tag; - - $c = array('url' => common_local_url('tagrss', array('tag' => $tagname)), - 'title' => $tagname, - 'link' => common_local_url('tagrss', array('tag' => $tagname)), - 'description' => sprintf(_('Microblog tagged with %s'), $tagname)); - return $c; - } + function isReadOnly($args) + { + return true; + } }