X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fprofileaction.php;h=eaf515e04a45005e26e3d83c630125d608e9bf28;hb=14fe22e4307044f2eb08264a7b83f9c2de245dba;hp=f777edd31955d0f20d734604cd700cff97503a18;hpb=8eb66467165e107d0c80c64f6c429fed1d1101d5;p=quix0rs-gnu-social.git diff --git a/lib/profileaction.php b/lib/profileaction.php index f777edd319..eaf515e04a 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; @@ -81,7 +81,7 @@ 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; } @@ -97,6 +97,7 @@ class ProfileAction extends OwnerDesignAction $this->showSubscriptions(); $this->showSubscribers(); $this->showGroups(); + $this->showLists(); $this->showStatistics(); } @@ -124,7 +125,9 @@ class ProfileAction extends OwnerDesignAction if (Event::handle('StartShowSubscriptionsMiniList', array($this))) { $this->elementStart('h2'); // TRANS: H2 text for user subscription statistics. - $this->statsSectionLink('subscriptions', _('Subscriptions')); + $this->statsSectionLink('subscriptions', _('Following')); + $this->text(' '); + $this->text($this->profile->subscriptionCount()); $this->elementEnd('h2'); $cnt = 0; @@ -138,13 +141,6 @@ class ProfileAction extends OwnerDesignAction } } - if ($cnt > PROFILES_PER_MINILIST) { - $this->elementStart('p'); - // TRANS: Text for user subscription statistics if user has more subscriptions than displayed. - $this->statsSectionLink('subscriptions', _('All subscriptions'), 'more'); - $this->elementEnd('p'); - } - Event::handle('EndShowSubscriptionsMiniList', array($this)); } $this->elementEnd('div'); @@ -161,7 +157,9 @@ class ProfileAction extends OwnerDesignAction $this->elementStart('h2'); // TRANS: H2 text for user subscriber statistics. - $this->statsSectionLink('subscribers', _('Subscribers')); + $this->statsSectionLink('subscribers', _('Followers')); + $this->text(' '); + $this->text($this->profile->subscriberCount()); $this->elementEnd('h2'); $cnt = 0; @@ -175,13 +173,6 @@ class ProfileAction extends OwnerDesignAction } } - if ($cnt > PROFILES_PER_MINILIST) { - $this->elementStart('p'); - // TRANS: Text for user subscription statistics if user has more subscribers than displayed. - $this->statsSectionLink('subscribers', _('All subscribers'), 'more'); - $this->elementEnd('p'); - } - Event::handle('EndShowSubscribersMiniList', array($this)); } @@ -219,27 +210,6 @@ class ProfileAction extends OwnerDesignAction 'label' => _('Member since'), 'value' => date('j M Y', strtotime($profile->created)) ), - array( - 'id' => 'subscriptions', - // TRANS: Label for user statistics. - 'label' => _('Subscriptions'), - 'link' => common_local_url('subscriptions', $actionParams), - 'value' => $profile->subscriptionCount(), - ), - array( - 'id' => 'subscribers', - // TRANS: Label for user statistics. - 'label' => _('Subscribers'), - 'link' => common_local_url('subscribers', $actionParams), - 'value' => $profile->subscriberCount(), - ), - array( - 'id' => 'groups', - // TRANS: Label for user statistics. - 'label' => _('Groups'), - 'link' => common_local_url('usergroups', $actionParams), - 'value' => $profile->getGroups()->N, - ), array( 'id' => 'notices', // TRANS: Label for user statistics. @@ -288,6 +258,8 @@ class ProfileAction extends OwnerDesignAction $this->elementStart('h2'); // TRANS: H2 text for user group membership statistics. $this->statsSectionLink('usergroups', _('Groups')); + $this->text(' '); + $this->text($this->profile->getGroups()->N); $this->elementEnd('h2'); if ($groups) { @@ -299,17 +271,65 @@ class ProfileAction extends OwnerDesignAction } } - if ($cnt > GROUPS_PER_MINILIST) { - $this->elementStart('p'); - // TRANS: Text for user group membership statistics if user has more subscriptions than displayed. - $this->statsSectionLink('usergroups', _('All groups'), 'more'); - $this->elementEnd('p'); - } - Event::handle('EndShowGroupsMiniList', array($this)); } $this->elementEnd('div'); } + + function showLists() + { + $cur = common_current_user(); + + $lists = $this->profile->getLists($cur); + + if ($lists->N > 0) { + $this->elementStart('div', array('id' => 'entity_lists', + 'class' => 'section')); + + if (Event::handle('StartShowListsMiniList', array($this))) { + + $url = common_local_url('peopletagsbyuser', + array('nickname' => $this->profile->nickname)); + + $this->elementStart('h2'); + $this->element('a', + array('href' => $url), + // TRANS: H2 text for user list membership statistics. + _('Lists')); + $this->text(' '); + $this->text($lists->N); + $this->elementEnd('h2'); + + $this->elementStart('ul'); + + + $first = true; + + while ($lists->fetch()) { + if (!empty($lists->mainpage)) { + $url = $lists->mainpage; + } else { + $url = common_local_url('showprofiletag', + array('tagger' => $this->profile->nickname, + 'tag' => $lists->tag)); + } + if (!$first) { + $this->text(', '); + } else { + $first = false; + } + + $this->element('a', array('href' => $url), + $lists->tag); + } + + $this->elementEnd('ul'); + + Event::handle('EndShowListsMiniList', array($this)); + } + $this->elementEnd('div'); + } + } } class SubscribersMiniList extends ProfileMiniList