. * * @category Action * @package Laconica * @author Evan Prodromou * @author Sarven Capadisli * @copyright 2008 Control Yourself, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://laconi.ca/ */ if (!defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/widget.php'; /** * 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. * * @category Output * @package Laconica * @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/ * * @see HTMLOutputter */ class PublicGroupNav extends Widget { var $action = null; /** * Construction * * @param Action $action current action, used for output */ function __construct($action=null) { parent::__construct($action); $this->action = $action; } /** * Show the menu * * @return void */ function show() { $this->action->elementStart('dl', array('id' => 'site_nav_local_views')); $this->action->element('dt', null, _('Local views')); $this->action->elementStart('dd', null); $this->action->elementStart('ul', array('class' => 'nav')); $this->out->menuItem(common_local_url('public'), _('Public'), _('Public timeline'), $this->action == 'public', 'nav_timeline_public'); $this->out->menuItem(common_local_url('tag'), _('Recent tags'), _('Recent tags'), $this->action == 'tag', 'nav_recent-tags'); if (count(common_config('nickname', 'featured')) > 0) { $this->out->menuItem(common_local_url('featured'), _('Featured'), _('Featured users'), $this->action == 'featured', 'nav_featured'); } $this->out->menuItem(common_local_url('favorited'), _('Popular'), _("Popular notices"), $this->action == 'favorited', 'nav_timeline_favorited'); $this->action->elementEnd('ul'); $this->action->elementEnd('dd'); $this->action->elementEnd('dl'); } }