X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=actions%2Fshowfavorites.php;h=eda2cf38ebe3fc83db5cbdb93263149040e536d8;hb=1fdc72f5956f00c736f7761aead4abd8da192eda;hp=b96d2af37fc568a672132bba2a32280b488ecfc8;hpb=67c387c6a0dc80a5c9beac9d73717763a2ba96f4;p=quix0rs-gnu-social.git diff --git a/actions/showfavorites.php b/actions/showfavorites.php index b96d2af37f..eda2cf38eb 100644 --- a/actions/showfavorites.php +++ b/actions/showfavorites.php @@ -44,7 +44,6 @@ 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 ShowfavoritesAction extends OwnerDesignAction { /** User we're getting the faves of */ @@ -57,7 +56,6 @@ class ShowfavoritesAction extends OwnerDesignAction * * @return boolean true */ - function isReadOnly($args) { return true; @@ -70,13 +68,16 @@ class ShowfavoritesAction extends OwnerDesignAction * * @return string title of page */ - function title() { if ($this->page == 1) { - return sprintf(_("%s's favorite notices"), $this->user->nickname); + // TRANS: Title for first page of favourite notices of a user. + // TRANS: %s is the user for whom the favourite notices are displayed. + return sprintf(_('%s\'s favorite notices'), $this->user->nickname); } else { - return sprintf(_("%s's favorite notices, page %d"), + // TRANS: Title for all but the first page of favourite notices of a user. + // TRANS: %1$s is the user for whom the favourite notices are displayed, %2$d is the page number. + return sprintf(_('%1$s\'s favorite notices, page %2$d'), $this->user->nickname, $this->page); } @@ -92,7 +93,6 @@ class ShowfavoritesAction extends OwnerDesignAction * * @return boolean success flag */ - function prepare($args) { parent::prepare($args); @@ -102,6 +102,7 @@ class ShowfavoritesAction extends OwnerDesignAction $this->user = User::staticGet('nickname', $nickname); if (!$this->user) { + // TRANS: Client error displayed when trying to display favourite notices for a non-existing user. $this->clientError(_('No such user.')); return false; } @@ -119,22 +120,24 @@ class ShowfavoritesAction extends OwnerDesignAction if (!empty($cur) && $cur->id == $this->user->id) { // Show imported/gateway notices as well as local if - // the user is looking at his own favorites + // the user is looking at their own favorites - $this->notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE, - NOTICES_PER_PAGE + 1, true); + $this->notice = $this->user->favoriteNotices(true, ($this->page-1)*NOTICES_PER_PAGE, + NOTICES_PER_PAGE + 1); } else { - $this->notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE, - NOTICES_PER_PAGE + 1, false); + $this->notice = $this->user->favoriteNotices(false, ($this->page-1)*NOTICES_PER_PAGE, + NOTICES_PER_PAGE + 1); } if (empty($this->notice)) { + // TRANS: Server error displayed when favourite notices could not be retrieved from the database. $this->serverError(_('Could not retrieve favorite notices.')); return; } if($this->page > 1 && $this->notice->N == 0){ - $this->serverError(_('No such page'),$code=404); + // TRANS: Server error when page not found (404) + $this->serverError(_('No such page.'),$code=404); } return true; @@ -149,7 +152,6 @@ class ShowfavoritesAction extends OwnerDesignAction * * @return void */ - function handle($args) { parent::handle($args); @@ -161,16 +163,30 @@ class ShowfavoritesAction extends OwnerDesignAction * * @return array Feed objects to show */ - function getFeeds() { - $feedurl = common_local_url('favoritesrss', - array('nickname' => - $this->user->nickname)); - $feedtitle = sprintf(_('Feed for favorites of %s'), - $this->user->nickname); - - return array(new Feed(Feed::RSS1, $feedurl, $feedtitle)); + return array(new Feed(Feed::RSS1, + common_local_url('favoritesrss', + array('nickname' => $this->user->nickname)), + // TRANS: Feed link text. %s is a username. + sprintf(_('Feed for favorites of %s (RSS 1.0)'), + $this->user->nickname)), + new Feed(Feed::RSS2, + common_local_url('ApiTimelineFavorites', + array( + 'id' => $this->user->nickname, + 'format' => 'rss')), + // TRANS: Feed link text. %s is a username. + sprintf(_('Feed for favorites of %s (RSS 2.0)'), + $this->user->nickname)), + new Feed(Feed::ATOM, + common_local_url('ApiTimelineFavorites', + array( + 'id' => $this->user->nickname, + 'format' => 'atom')), + // TRANS: Feed link text. %s is a username. + sprintf(_('Feed for favorites of %s (Atom)'), + $this->user->nickname))); } /** @@ -178,7 +194,6 @@ class ShowfavoritesAction extends OwnerDesignAction * * @return void */ - function showLocalNav() { $nav = new PersonalGroupNav($this); @@ -190,13 +205,19 @@ class ShowfavoritesAction extends OwnerDesignAction if (common_logged_in()) { $current_user = common_current_user(); if ($this->user->id === $current_user->id) { + // TRANS: Text displayed instead of favourite notices for the current logged in user that has no favourites. $message = _('You haven\'t chosen any favorite notices yet. Click the fave button on notices you like to bookmark them for later or shed a spotlight on them.'); } else { - $message = sprintf(_('%s hasn\'t added any notices to his favorites yet. Post something interesting they would add to their favorites :)'), $this->user->nickname); + // TRANS: Text displayed instead of favourite notices for a user that has no favourites while logged in. + // TRANS: %s is a username. + $message = sprintf(_('%s hasn\'t added any favorite notices yet. Post something interesting they would add to their favorites :)'), $this->user->nickname); } } else { - $message = sprintf(_('%s hasn\'t added any notices to his favorites yet. Why not [register an account](%%%%action.register%%%%) and then post something interesting they would add to their favorites :)'), $this->user->nickname); + // TRANS: Text displayed instead of favourite notices for a user that has no favourites while not logged in. + // TRANS: %s is a username, %%%%action.register%%%% is a link to the user registration page. + // TRANS: (link text)[link] is a Mark Down link. + $message = sprintf(_('%s hasn\'t added any favorite notices yet. Why not [register an account](%%%%action.register%%%%) and then post something interesting they would add to their favorites :)'), $this->user->nickname); } $this->elementStart('div', 'guide'); @@ -211,10 +232,9 @@ class ShowfavoritesAction extends OwnerDesignAction * * @return void */ - function showContent() { - $nl = new NoticeList($this->notice, $this); + $nl = new FavoritesNoticeList($this->notice, $this); $cnt = $nl->show(); if (0 == $cnt) { @@ -227,7 +247,20 @@ class ShowfavoritesAction extends OwnerDesignAction } function showPageNotice() { + // TRANS: Page notice for show favourites page. $this->element('p', 'instructions', _('This is a way to share what you like.')); } } +class FavoritesNoticeList extends NoticeList +{ + function newListItem($notice) + { + return new FavoritesNoticeListItem($notice, $this->out); + } +} + +// All handled by superclass +class FavoritesNoticeListItem extends DoFollowListItem +{ +}