X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fpublicrss.php;h=0c5d061cb65614148b6711eb0c2b60e24f1c25c9;hb=c2ffd6612887675e55a9d9398517e23ee95c9117;hp=1ab6a8be06aa4214397ce5844a5d536e23fed535;hpb=02a3f24b92f70531c9bf761729d569b8ce5d307c;p=quix0rs-gnu-social.git diff --git a/actions/publicrss.php b/actions/publicrss.php index 1ab6a8be06..0c5d061cb6 100644 --- a/actions/publicrss.php +++ b/actions/publicrss.php @@ -1,7 +1,19 @@ + * @author Robin Millette + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://status.net/ + * + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2008, 2009, StatusNet, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by @@ -17,41 +29,96 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } - -require_once(INSTALLDIR.'/lib/rssaction.php'); - -// Formatting of RSS handled by Rss10Action - -class PublicrssAction extends Rss10Action { - - function init() { - return true; - } - - function get_notices($limit=0) { - - $notices = array(); - - $notice = Notice::publicStream(0, ($limit == 0) ? 48 : $limit); - - while ($notice->fetch()) { - $notices[] = clone($notice); - } - - return $notices; - } - - function get_channel() { - global $config; - $c = array('url' => common_local_url('publicrss'), - 'title' => sprintf(_('%s Public Stream'), $config['site']['name']), - 'link' => common_local_url('public'), - 'description' => sprintf(_('All updates for %s'), $config['site']['name'])); - return $c; - } - - function get_image() { - return NULL; - } -} \ No newline at end of file +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +require_once INSTALLDIR.'/lib/rssaction.php'; + +/** + * RSS feed for public timeline. + * + * Formatting of RSS handled by Rss10Action + * + * @category Action + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://status.net/ + */ +class PublicrssAction extends Rss10Action +{ + /** + * Read arguments and initialize members + * + * @param array $args Arguments from $_REQUEST + * @return boolean success + */ + + function prepare($args) + { + parent::prepare($args); + $this->notices = $this->getNotices($this->limit); + return true; + } + + /** + * Initialization. + * + * @return boolean true + */ + function init() + { + return true; + } + + /** + * Get notices + * + * @param integer $limit max number of notices to return + * + * @return array notices + */ + function getNotices($limit=0) + { + $notices = array(); + $notice = Notice::publicStream(0, ($limit == 0) ? 48 : $limit); + while ($notice->fetch()) { + $notices[] = clone($notice); + } + + return $notices; + } + + /** + * Get channel. + * + * @return array associative array on channel information + */ + function getChannel() + { + $c = array( + 'url' => common_local_url('publicrss') + , 'title' => sprintf(_('%s public timeline'), common_config('site', 'name')) + , 'link' => common_local_url('public') + , 'description' => sprintf(_('%s updates from everyone!'), common_config('site', 'name'))); + return $c; + } + + /** + * Get image. + * + * @return nothing + */ + function getImage() + { + // nop + } + + function isReadOnly($args) + { + return true; + } +} +