X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fprofileaction.php;h=1efa9060678dba207b268c253a1e08b9348b49a4;hb=63306081bc164fcf57abd7f0996767626fd1e501;hp=bdd7f9144dda3b887c83de0e44e0ab2821dc1614;hpb=da6822c1f0573cdc2c8b54dd686601717b12b5c7;p=quix0rs-gnu-social.git diff --git a/lib/profileaction.php b/lib/profileaction.php index bdd7f9144d..1efa906067 100644 --- a/lib/profileaction.php +++ b/lib/profileaction.php @@ -23,7 +23,7 @@ * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -46,7 +46,7 @@ require_once INSTALLDIR.'/lib/groupminilist.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 ProfileAction extends OwnerDesignAction +class ProfileAction extends Action { var $page = null; var $profile = null; @@ -70,7 +70,7 @@ class ProfileAction extends OwnerDesignAction return false; } - $this->user = User::staticGet('nickname', $nickname); + $this->user = User::getKV('nickname', $nickname); if (!$this->user) { // TRANS: Client error displayed when calling a profile action without specifying a user. @@ -81,11 +81,18 @@ class ProfileAction extends OwnerDesignAction $this->profile = $this->user->getProfile(); if (!$this->profile) { - // TRANS: Server error displayed when calling a profile action while the specified user does not have a profile. + // TRANS: Error message displayed when referring to a user without a profile. $this->serverError(_('User has no profile.')); return false; } + $user = common_current_user(); + + if ($this->profile->hasRole(Profile_role::SILENCED) && + (empty($user) || !$user->hasRight(Right::SILENCEUSER))) { + throw new ClientException(_('This profile has been silenced by site moderators'), 403); + } + $this->tag = $this->trimmed('tag'); $this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1; common_set_returnto($this->selfUrl()); @@ -118,7 +125,7 @@ class ProfileAction extends OwnerDesignAction function showSubscriptions() { - $profile = $this->profile->getSubscriptions(0, PROFILES_PER_MINILIST + 1); + $profile = $this->profile->getSubscribed(0, PROFILES_PER_MINILIST + 1); $this->elementStart('div', array('id' => 'entity_subscriptions', 'class' => 'section')); @@ -259,7 +266,7 @@ class ProfileAction extends OwnerDesignAction // TRANS: H2 text for user group membership statistics. $this->statsSectionLink('usergroups', _('Groups')); $this->text(' '); - $this->text($this->profile->getGroups()->N); + $this->text($this->profile->getGroups(0, null)->N); $this->elementEnd('h2'); if ($groups) {