. * * @category Menu * @package StatusNet * @author Evan Prodromou * @copyright 2011 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ if (!defined('STATUSNET')) { // This check helps protect against security problems; // your code file can't be executed directly from the web. exit(1); } /** * Class comment * * @category General * @package StatusNet * @author Evan Prodromou * @copyright 2011 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ class SearchSubMenu extends MoreMenu { protected $user; protected $searches; function __construct($out, $user, $searches) { parent::__construct($out); $this->user = $user; $this->searches = $searches; } function tag() { return 'searchsubs'; } function seeAllItem() { return array('searchsubs', array('nickname' => $this->user->nickname), _('See all'), _('See all searches you are following')); } function getItems() { $items = array(); foreach ($this->searches as $search) { if (!empty($search)) { $items[] = array('noticesearch', array('q' => $search), sprintf('"%s"', $search), sprintf(_('Notices including %s'), $search));; } } return $items; } function item($actionName, $args, $label, $description, $id=null, $cls=null) { if (empty($id)) { $id = $this->menuItemID($actionName, $args); } if ($actionName == 'noticesearch') { // Add 'q' as a search param, not part of the url path $url = common_local_url($actionName, array(), $args); } else { $url = common_local_url($actionName, $args); } $this->out->menuItem($url, $label, $description, $this->isCurrent($actionName, $args), $id, $cls); } }