X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fpublicgroupnav.php;h=620a61ddd95bdd886d67b87bdd907e398b383a42;hb=b24d711f552854d88f2df2120672bdaf173335fc;hp=7860783fa48330afa701aa665f4ea8e0ccf7c4a7;hpb=16619439ab7d67331722cc00e3b24f451ee8fa6a;p=quix0rs-gnu-social.git diff --git a/lib/publicgroupnav.php b/lib/publicgroupnav.php index 7860783fa4..620a61ddd9 100644 --- a/lib/publicgroupnav.php +++ b/lib/publicgroupnav.php @@ -1,8 +1,8 @@ . * - * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @category Menu + * @package StatusNet + * @author Evan Prodromou + * @copyright 2008 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ */ -if (!defined('LACONICA')) { - exit(1); -} - -require_once INSTALLDIR.'/lib/widget.php'; +if (!defined('GNUSOCIAL')) { exit(1); } /** - * Base class for all actions - * - * This is the base class for all actions in the package. An action is - * more or less a "view" in an MVC framework. - * - * Actions are responsible for extracting and validating parameters; using - * model classes to read and write to the database; and doing ouput. + * Menu for public group of actions * * @category Output - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ * - * @see HTMLOutputter + * @see Widget */ - -class PublicGroupNav extends Widget +class PublicGroupNav extends Menu { - var $action = null; - /** - * Construction - * - * @param Action $action current action, used for output - */ - - function __construct($action=null) - { - parent::__construct($action); - $this->action = $action; - } + var $actionName = null; /** * Show the menu * * @return void */ - function show() { + $this->actionName = $this->action->trimmed('action'); + $this->action->elementStart('ul', array('class' => 'nav')); - $this->out->menuItem(common_local_url('public'), _('Public'), - _('Public timeline'), $this->action == 'public', 'nav_timeline_public'); + if (Event::handle('StartPublicGroupNav', array($this))) { + if (!common_config('singleuser', 'enabled')) { + // TRANS: Menu item in search group navigation panel. + $this->out->menuItem(common_local_url('public'), _m('MENU','Public'), + // TRANS: Menu item title in search group navigation panel. + _('Public timeline'), $this->actionName == 'public', 'nav_timeline_public'); + } + if (!common_config('public', 'localonly') || $this->action->getScoped() instanceof Profile) { + // Allow network wide view if you're logged in + // TRANS: Menu item in search group navigation panel. + $this->out->menuItem(common_local_url('networkpublic'), _m('MENU','Network'), + // TRANS: Menu item title in search group navigation panel. + _('Network public timeline'), $this->actionName == 'networkpublic', 'nav_timeline_networkpublic'); + } - $this->out->menuItem(common_local_url('tag'), _('Recent tags'), - _('Recent tags'), $this->action == 'tag', 'nav_recent-tags'); + // TRANS: Menu item in search group navigation panel. + $this->out->menuItem(common_local_url('groups'), _m('MENU','Groups'), + // TRANS: Menu item title in search group navigation panel. + _('User groups'), $this->actionName == 'groups', 'nav_groups'); - if (count(common_config('nickname', 'featured')) > 0) { - $this->out->menuItem(common_local_url('featured'), _('Featured'), - _('Featured users'), $this->action == 'featured', 'nav_featured'); - } + if (!common_config('performance', 'high')) { + // TRANS: Menu item in search group navigation panel. + $this->out->menuItem(common_local_url('publictagcloud'), _m('MENU','Recent tags'), + // TRANS: Menu item title in search group navigation panel. + _('Recent tags'), $this->actionName == 'publictagcloud', 'nav_recent-tags'); + } - $this->out->menuItem(common_local_url('favorited'), _('Popular'), - _("Popular notices"), $this->action == 'favorited', 'nav_timeline_favorited'); + if (count(common_config('nickname', 'featured')) > 0) { + // TRANS: Menu item in search group navigation panel. + $this->out->menuItem(common_local_url('featured'), _m('MENU','Featured'), + // TRANS: Menu item title in search group navigation panel. + _('Featured users'), $this->actionName == 'featured', 'nav_featured'); + } + Event::handle('EndPublicGroupNav', array($this)); + } $this->action->elementEnd('ul'); } }