X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Freplies.php;h=2b5455e23cb0d8a34f4bf14104bc5309a2cbd343;hb=acd36698b40ef9e4ae68bf806658353e4a2b8b5d;hp=608f71d6e0f4a011d1156e1ceaaa815c2a5a7018;hpb=39392e03a71d94d6b984033b994b417edfc2d8d6;p=quix0rs-gnu-social.git diff --git a/actions/replies.php b/actions/replies.php index 608f71d6e0..2b5455e23c 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -22,7 +22,7 @@ * @category Personal * @package StatusNet * @author Evan Prodromou - * @copyright 2008-2009 StatusNet, Inc. + * @copyright 2008-2011 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ @@ -44,8 +44,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ - -class RepliesAction extends OwnerDesignAction +class RepliesAction extends Action { var $page = null; var $notice; @@ -60,37 +59,39 @@ class RepliesAction extends OwnerDesignAction * * @return boolean success flag */ - function prepare($args) { parent::prepare($args); $nickname = common_canonical_nickname($this->arg('nickname')); - $this->user = User::staticGet('nickname', $nickname); + $this->user = User::getKV('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; } $profile = $this->user->getProfile(); if (!$profile) { + // TRANS: Error message displayed when referring to a user without a profile. $this->serverError(_('User has no profile.')); - return false; } $this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1; common_set_returnto($this->selfUrl()); - $this->notice = $this->user->getReplies(($this->page-1) * NOTICES_PER_PAGE, - NOTICES_PER_PAGE + 1); + $stream = new ReplyNoticeStream($this->user->id, + Profile::current()); + + $this->notice = $stream->getNotices(($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); + // TRANS: Client error when page not found (404) + $this->clientError(_('No such page.'), 404); } return true; @@ -105,7 +106,6 @@ class RepliesAction extends OwnerDesignAction * * @return void */ - function handle($args) { parent::handle($args); @@ -119,12 +119,15 @@ class RepliesAction extends OwnerDesignAction * * @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 { + // 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); @@ -136,12 +139,22 @@ class RepliesAction extends OwnerDesignAction * * @return void */ - function getFeeds() { - return array(new Feed(Feed::RSS1, + return array(new Feed(Feed::JSON, + common_local_url('ApiTimelineMentions', + array( + 'id' => $this->user->nickname, + 'format' => 'as')), + // TRANS: Link for feed with replies for a user. + // TRANS: %s is a user nickname. + sprintf(_('Replies feed for %s (Activity Streams JSON)'), + $this->user->nickname)), + 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, @@ -149,6 +162,8 @@ class RepliesAction extends OwnerDesignAction 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, @@ -156,22 +171,12 @@ class RepliesAction extends OwnerDesignAction 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))); } - /** - * show the personal group nav - * - * @return void - */ - - function showLocalNav() - { - $nav = new PersonalGroupNav($this); - $nav->show(); - } - /** * Show the content * @@ -179,10 +184,9 @@ class RepliesAction extends OwnerDesignAction * * @return void */ - function showContent() { - $nl = new NoticeList($this->notice, $this); + $nl = new PrimaryNoticeList($this->notice, $this, array('show_n'=>NOTICES_PER_PAGE)); $cnt = $nl->show(); if (0 === $cnt) { @@ -196,18 +200,28 @@ class RepliesAction extends OwnerDesignAction function showEmptyListMessage() { - $message = sprintf(_('This is the timeline showing replies to %1$s but %2$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 %1$s](../%2$s) or [post something to his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$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');