X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Frepliesrss.php;h=76aae21adb994652a0fd16e8bbc090aeb95ccea3;hb=6c671141982c5837a2e5bf1e90de389c728d5dee;hp=b5e271585e664fb1df6e1adcc7be427bcc38e418;hpb=33f0d97cf62c7c95f2f4b6ea52044be75e39230c;p=quix0rs-gnu-social.git diff --git a/actions/repliesrss.php b/actions/repliesrss.php index b5e271585e..76aae21adb 100644 --- a/actions/repliesrss.php +++ b/actions/repliesrss.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 RepliesrssAction extends Rss10Action { +class RepliesrssAction extends Rss10Action +{ - var $user = NULL; + var $user = null; - function init() { - $nickname = $this->trimmed('nickname'); - $this->user = User::staticGet('nickname', $nickname); - - if (!$this->user) { - common_user_error(_t('No such nickname.')); - return false; - } else { - return true; - } - } - - function get_notices($limit=0) { - - $user = $this->user; - $notices = array(); + function prepare($args) + { + parent::prepare($args); + $nickname = $this->trimmed('nickname'); + $this->user = User::staticGet('nickname', $nickname); - $reply = new Reply(); - $reply->profile_id = $user->id; - $reply->orderBy('modified DESC'); - if ($limit) { - $reply->limit(0, $limit); - } - - $cnt = $reply->find(); + if (!$this->user) { + $this->clientError(_('No such user.')); + return false; + } else { + $this->notices = $this->getNotices($this->limit); + return true; + } + } - if ($cnt) { - while ($reply->fetch()) { - $notice = new Notice(); - $notice->id = $reply->notice_id; - $result = $notice->find(true); - if (!$result) { - continue; - } - $notices[] = clone($notice); - } - } - - return $notices; - } - - function get_channel() { - $user = $this->user; - $c = array('url' => common_local_url('repliesrss', - array('nickname' => - $user->nickname)), - 'title' => _t("Replies to ") . $profile->nickname, - 'link' => common_local_url('replies', - array('nickname' => - $user->nickname)), - 'description' => _t('Feed for replies to ') . $user->nickname); - return $c; - } - - function get_image() { - $user = $this->user; - $profile = $user->getProfile(); - $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE); - return ($avatar) ? $avatar->url : NULL; - } -} \ No newline at end of file + function getNotices($limit=0) + { + + $user = $this->user; + + $notice = $user->getReplies(0, ($limit == 0) ? 48 : $limit); + + $notices = array(); + + while ($notice->fetch()) { + $notices[] = clone($notice); + } + + return $notices; + } + + function getChannel() + { + $user = $this->user; + $c = array('url' => common_local_url('repliesrss', + array('nickname' => + $user->nickname)), + 'title' => sprintf(_("Replies to %s"), $user->nickname), + 'link' => common_local_url('replies', + array('nickname' => + $user->nickname)), + 'description' => sprintf(_('Replies to %1$s on %2$s!'), + $user->nickname, common_config('site', 'name'))); + return $c; + } + + function getImage() + { + $user = $this->user; + $profile = $user->getProfile(); + if (!$profile) { + return null; + } + $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE); + return ($avatar) ? $avatar->url : null; + } + + function isReadOnly($args) + { + return true; + } +}