. * * @category Widget * @package StatusNet * @author Shashi Gowda * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } /** * Peopletags a user has subscribed to * * @category Widget * @package StatusNet * @author Shashi Gowda * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ class ListsNav extends Menu { var $profile=null; var $lists=null; function __construct($out, Profile $profile) { parent::__construct($out); $this->profile = $profile; $user = common_current_user(); $this->lists = $profile->getLists($user); } function show() { $action = $this->actionName; $this->out->elementStart('ul', array('class' => 'nav')); if (Event::handle('StartListsNav', array($this))) { while ($this->lists->fetch()) { $mode = $this->lists->private ? 'private' : 'public'; $this->out->menuItem(($this->lists->mainpage) ? $this->lists->mainpage : common_local_url('showprofiletag', array('tagger' => $this->profile->nickname, 'tag' => $this->lists->tag)), $this->lists->tag, '', $action == 'showprofiletag' && $this->action->arg('tagger') == $this->profile->nickname && $this->action->arg('tag') == $this->lists->tag, 'nav_timeline_list_'.$this->lists->id, 'mode-' . $mode); } Event::handle('EndListsNav', array($this)); } $this->out->elementEnd('ul'); } function hasLists() { return (!empty($this->lists) && $this->lists->N > 0); } }