X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Freplies.php;h=54109b7b9f40f731f7e428d8ff1960353248a36a;hb=36b331d469b6dcd1101783f21265f7be624bc58f;hp=eac4d0a3aeeda3622eec4bcbaec8a787fbbe82ac;hpb=3cc94cc0bc2a57a08be63ecb274e7d2428ed6298;p=quix0rs-gnu-social.git diff --git a/actions/replies.php b/actions/replies.php index eac4d0a3ae..54109b7b9f 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @copyright 2008-2009 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -39,16 +39,15 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * List of replies * * @category Personal - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ */ - -class RepliesAction extends Action +class RepliesAction extends OwnerDesignAction { - var $user = null; var $page = null; + var $notice; /** * Prepare the object @@ -60,7 +59,6 @@ class RepliesAction extends Action * * @return boolean success flag */ - function prepare($args) { parent::prepare($args); @@ -70,6 +68,7 @@ class RepliesAction extends Action $this->user = User::staticGet('nickname', $nickname); if (!$this->user) { + // TRANS: Client error displayed when trying to reply to a non-exsting user. $this->clientError(_('No such user.')); return false; } @@ -77,6 +76,7 @@ class RepliesAction extends Action $profile = $this->user->getProfile(); if (!$profile) { + // TRANS: Server error displayed when trying to reply to a user without a profile. $this->serverError(_('User has no profile.')); return false; } @@ -85,6 +85,14 @@ class RepliesAction extends Action common_set_returnto($this->selfUrl()); + $this->notice = $this->user->getReplies(($this->page-1) * NOTICES_PER_PAGE, + NOTICES_PER_PAGE + 1); + + if($this->page > 1 && $this->notice->N == 0){ + // TRANS: Server error when page not found (404) + $this->serverError(_('No such page.'),$code=404); + } + return true; } @@ -97,7 +105,6 @@ class RepliesAction extends Action * * @return void */ - function handle($args) { parent::handle($args); @@ -111,13 +118,16 @@ class RepliesAction extends Action * * @return string title of page */ - function title() { if ($this->page == 1) { + // TRANS: Title for first page of replies for a user. + // TRANS: %s is a user nickname. return sprintf(_("Replies to %s"), $this->user->nickname); } else { - return sprintf(_("Replies to %s, page %d"), + // TRANS: Title for all but the first page of replies for a user. + // TRANS: %1$s is a user nickname, %2$d is a page number. + return sprintf(_('Replies to %1$s, page %2$d'), $this->user->nickname, $this->page); } @@ -128,26 +138,33 @@ class RepliesAction extends Action * * @return void */ - function getFeeds() { - $rssurl = common_local_url('repliesrss', - array('nickname' => $this->user->nickname)); - $rsstitle = sprintf(_('Feed for replies to %s'), $this->user->nickname); - - return array(new Feed(Feed::RSS1, $rssurl, $rsstitle)); - } - - /** - * show the personal group nav - * - * @return void - */ - - function showLocalNav() - { - $nav = new PersonalGroupNav($this); - $nav->show(); + return array(new Feed(Feed::RSS1, + common_local_url('repliesrss', + array('nickname' => $this->user->nickname)), + // TRANS: Link for feed with replies for a user. + // TRANS: %s is a user nickname. + sprintf(_('Replies feed for %s (RSS 1.0)'), + $this->user->nickname)), + new Feed(Feed::RSS2, + common_local_url('ApiTimelineMentions', + array( + 'id' => $this->user->nickname, + 'format' => 'rss')), + // TRANS: Link for feed with replies for a user. + // TRANS: %s is a user nickname. + sprintf(_('Replies feed for %s (RSS 2.0)'), + $this->user->nickname)), + new Feed(Feed::ATOM, + common_local_url('ApiTimelineMentions', + array( + 'id' => $this->user->nickname, + 'format' => 'atom')), + // TRANS: Link for feed with replies for a user. + // TRANS: %s is a user nickname. + sprintf(_('Replies feed for %s (Atom)'), + $this->user->nickname))); } /** @@ -157,13 +174,9 @@ class RepliesAction extends Action * * @return void */ - function showContent() { - $notice = $this->user->getReplies(($this->page-1) * NOTICES_PER_PAGE, - NOTICES_PER_PAGE + 1); - - $nl = new NoticeList($notice, $this); + $nl = new NoticeList($this->notice, $this); $cnt = $nl->show(); if (0 === $cnt) { @@ -177,18 +190,28 @@ class RepliesAction extends Action function showEmptyListMessage() { - $message = sprintf(_('This is the timeline showing replies to %s but %s hasn\'t received a notice to his attention yet.'), $this->user->nickname, $this->user->nickname) . ' '; + // TRANS: Empty list message for page with replies for a user. + // TRANS: %1$s and %s$s are the user nickname. + $message = sprintf(_('This is the timeline showing replies to %1$s but %2$s hasn\'t received a notice to them yet.'), + $this->user->nickname, + $this->user->nickname) . ' '; if (common_logged_in()) { $current_user = common_current_user(); if ($this->user->id === $current_user->id) { + // TRANS: Empty list message for page with replies for a user for the logged in user. + // TRANS: This message contains a Markdown link in the form [link text](link). $message .= _('You can engage other users in a conversation, subscribe to more people or [join groups](%%action.groups%%).'); } else { - $message .= sprintf(_('You can try to [nudge %s](../%s) or [post something to his or her attention](%%%%action.newnotice%%%%?status_textarea=%s).'), $this->user->nickname, $this->user->nickname, '@' . $this->user->nickname); + // TRANS: Empty list message for page with replies for a user for all logged in users but the user themselves. + // TRANS: %1$s, %2$s and %3$s are a user nickname. This message contains a Markdown link in the form [link text](link). + $message .= sprintf(_('You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action.newnotice%%%%?status_textarea=%3$s).'), $this->user->nickname, $this->user->nickname, '@' . $this->user->nickname); } } else { - $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to his or her attention.'), $this->user->nickname); + // TRANS: Empty list message for page with replies for a user for not logged in users. + // TRANS: %1$s is a user nickname. This message contains a Markdown link in the form [link text](link). + $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to them.'), $this->user->nickname); } $this->elementStart('div', 'guide');