* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class PersonalGroupNav extends Menu
{
/**
*
* @return void
*/
- function show()
+ public function show()
{
- $user = common_current_user();
+ // FIXME: Legacy StatusNet behaviour was to do this, but really it should be the GroupNav
+ // of the targeted user! ($this->action->arg('nickname')
+ $target = Profile::current();
- if (empty($user)) {
- throw new ServerException('Do not show personal group nav with no current user.');
+ if (!$target instanceof Profile) {
+ throw new ServerException('Cannot show personal group navigation without a current user.');
}
- $user_profile = $user->getProfile();
- $nickname = $user->nickname;
- $name = $user_profile->getBestName();
+ $nickname = $target->getNickname();
+ $name = $target->getBestName();
+
+ $scoped = Profile::current();
$action = $this->actionName;
$mine = ($this->action->arg('nickname') == $nickname); // @fixme kinda vague
$this->out->elementStart('ul', array('class' => 'nav'));
- if (Event::handle('StartPersonalGroupNav', array($this))) {
+ if (Event::handle('StartPersonalGroupNav', array($this, $target, $scoped))) {
$this->out->menuItem(common_local_url('all', array('nickname' =>
$nickname)),
- _('Home'),
+ // TRANS: Menu item in personal group navigation menu.
+ _m('MENU','Home'),
+ // TRANS: Menu item title in personal group navigation menu.
+ // TRANS: %s is a username.
sprintf(_('%s and friends'), $name),
$mine && $action =='all', 'nav_timeline_personal');
$this->out->menuItem(common_local_url('showstream', array('nickname' =>
$nickname)),
- _('Profile'),
+ // TRANS: Menu item in personal group navigation menu.
+ _m('MENU','Profile'),
+ // TRANS: Menu item title in personal group navigation menu.
_('Your profile'),
$mine && $action =='showstream',
'nav_profile');
$this->out->menuItem(common_local_url('replies', array('nickname' =>
$nickname)),
- _('Replies'),
+ // TRANS: Menu item in personal group navigation menu.
+ _m('MENU','Replies'),
+ // TRANS: Menu item title in personal group navigation menu.
+ // TRANS: %s is a username.
sprintf(_('Replies to %s'), $name),
$mine && $action =='replies', 'nav_timeline_replies');
- $this->out->menuItem(common_local_url('showfavorites', array('nickname' =>
- $nickname)),
- _('Favorites'),
- sprintf(_('%s\'s favorite notices'), ($user_profile) ? $name : _('User')),
- $mine && $action =='showfavorites', 'nav_timeline_favorites');
-
- $cur = common_current_user();
-
- if ($cur && $cur->id == $user->id &&
- !common_config('singleuser', 'enabled')) {
-
- $this->out->menuItem(common_local_url('inbox', array('nickname' =>
- $nickname)),
- _('Messages'),
- _('Your incoming messages'),
- $mine && $action =='inbox');
- }
- Event::handle('EndPersonalGroupNav', array($this));
+ Event::handle('EndPersonalGroupNav', array($this, $target, $scoped));
}
$this->out->elementEnd('ul');
}