X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fsubscribers.php;h=ad522a4bae63372b0632f302ec794a329ba88735;hb=5616bfb5ffa3af4c6a375ff9c8c8560d86208898;hp=0f173e041e7633ab2f5bd56d65b86cd242a7534e;hpb=d35b2d3f3c2128b147a6fa897032262c1f632262;p=quix0rs-gnu-social.git diff --git a/actions/subscribers.php b/actions/subscribers.php index 0f173e041e..ad522a4bae 100644 --- a/actions/subscribers.php +++ b/actions/subscribers.php @@ -21,14 +21,14 @@ * * @category Social * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @author Evan Prodromou + * @author Sarven Capadisli * @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://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -37,19 +37,22 @@ if (!defined('LACONICA')) { * * @category Social * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ - class SubscribersAction extends GalleryAction { function title() { if ($this->page == 1) { + // TRANS: Header for list of subscribers for a user (first page). + // TRANS: %s is the user's nickname. return sprintf(_('%s subscribers'), $this->user->nickname); } else { - return sprintf(_('%s subscribers, page %d'), + // TRANS: Header for list of subscribers for a user (not first page). + // TRANS: %1$s is the user's nickname, $2$d is the page number. + return sprintf(_('%1$s subscribers, page %2$d'), $this->user->nickname, $this->page); } @@ -57,13 +60,17 @@ class SubscribersAction extends GalleryAction function showPageNotice() { - $user =& common_current_user(); + $user = common_current_user(); if ($user && ($user->id == $this->profile->id)) { $this->element('p', null, + // TRANS: Page notice for page with an overview of all subscribers + // TRANS: of the logged in user's own profile. _('These are the people who listen to '. 'your notices.')); } else { $this->element('p', null, + // TRANS: Page notice for page with an overview of all subscribers of a user other + // TRANS: than the logged in user. %s is the user nickname. sprintf(_('These are the people who '. 'listen to %s\'s notices.'), $this->profile->nickname)); @@ -93,8 +100,6 @@ class SubscribersAction extends GalleryAction } } - $subscribers->free(); - $this->pagination($this->page > 1, $cnt > PROFILES_PER_PAGE, $this->page, 'subscribers', array('nickname' => $this->user->nickname)); @@ -105,15 +110,21 @@ class SubscribersAction extends GalleryAction if (common_logged_in()) { $current_user = common_current_user(); if ($this->user->id === $current_user->id) { - $message = _('You have no subscribers. Try subscribing to people you know and they might return the favor'); + // TRANS: Subscriber list text when the logged in user has no subscribers. + $message = _('You have no subscribers. Try subscribing to people you know and they might return the favor.'); } else { + // TRANS: Subscriber list text when looking at the subscribers for a of a user other + // TRANS: than the logged in user that has no subscribers. %s is the user nickname. $message = sprintf(_('%s has no subscribers. Want to be the first?'), $this->user->nickname); } } else { - $message = sprintf(_('%s has no subscribers. Why not [register an account](%%%%action.%s%%%%) and be the first?'), - $this->user->nickname, - (!common_config('site','openidonly')) ? 'register' : 'openidlogin'); + // TRANS: Subscriber list text when looking at the subscribers for a of a user that has none + // TRANS: as an anonymous user. %s is the user nickname. + // TRANS: This message contains a Markdown URL. The link description is between + // TRANS: square brackets, and the link between parentheses. Do not separate "](" + // TRANS: and do not change the URL part. + $message = sprintf(_('%s has no subscribers. Why not [register an account](%%%%action.register%%%%) and be the first?'), $this->user->nickname); } $this->elementStart('div', 'guide'); @@ -145,9 +156,12 @@ class SubscribersListItem extends SubscriptionListItem function showActions() { $this->startActions(); - $this->showSubscribeButton(); - // Relevant code! - $this->showBlockForm(); + if (Event::handle('StartProfileListItemActionElements', array($this))) { + $this->showSubscribeButton(); + // Relevant code! + $this->showBlockForm(); + Event::handle('EndProfileListItemActionElements', array($this)); + } $this->endActions(); } @@ -156,10 +170,36 @@ class SubscribersListItem extends SubscriptionListItem $user = common_current_user(); if (!empty($user) && $this->owner->id == $user->id) { - $bf = new BlockForm($this->out, $this->profile, - array('action' => 'subscribers', - 'nickname' => $this->owner->nickname)); + $returnto = array('action' => 'subscribers', + 'nickname' => $this->owner->nickname); + $page = $this->out->arg('page'); + if ($page) { + $returnto['param-page'] = $page; + } + $bf = new BlockForm($this->out, $this->profile, $returnto); $bf->show(); } } + + function linkAttributes() + { + $aAttrs = parent::linkAttributes(); + + if (common_config('nofollow', 'subscribers')) { + $aAttrs['rel'] .= ' nofollow'; + } + + return $aAttrs; + } + + function homepageAttributes() + { + $aAttrs = parent::linkAttributes(); + + if (common_config('nofollow', 'subscribers')) { + $aAttrs['rel'] = 'nofollow'; + } + + return $aAttrs; + } }