X-Git-Url: https://git.mxchange.org/?p=quix0rs-gnu-social.git;a=blobdiff_plain;f=actions%2Ftagrss.php;fp=actions%2Ftagrss.php;h=286d1688579513a16ae4bf1aa9c57eb62aacae83;hp=62ca3a81d73934a32a4341850f1dbfa0ddb1745a;hb=4160a3fb730113f3d712bd777884c4b0482f6df1;hpb=abd90bbdf562614755802885dfb5673645df8575 diff --git a/actions/tagrss.php b/actions/tagrss.php index 62ca3a81d7..286d168857 100644 --- a/actions/tagrss.php +++ b/actions/tagrss.php @@ -17,42 +17,28 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } - -require_once(INSTALLDIR.'/lib/rssaction.php'); +if (!defined('GNUSOCIAL')) { exit(1); } // Formatting of RSS handled by Rss10Action + class TagrssAction extends Rss10Action { - var $tag; + protected $tag; - function prepare(array $args=array()) { - parent::prepare($args); + protected function doStreamPreparation() + { $tag = common_canonical_tag($this->trimmed('tag')); $this->tag = Notice_tag::getKV('tag', $tag); - if (!$this->tag) { + if (!$this->tag instanceof Notice_tag) { // TRANS: Client error when requesting a tag feed for a non-existing tag. $this->clientError(_('No such tag.')); - } else { - $this->notices = $this->getNotices($this->limit); - return true; } } - function getNotices($limit=0) + protected function getNotices() { - $tag = $this->tag; - - if (is_null($tag)) { - return null; - } - - $notice = Notice_tag::getStream($tag->tag, 0, ($limit == 0) ? NOTICES_PER_PAGE : $limit); - while ($notice->fetch()) { - $notices[] = clone($notice); - } - - return $notices; + $stream = Notice_tag::getStream($this->tag->tag)->getNotices(0, $this->limit); + return $stream->fetchAll(); } function getChannel()