public function getMenu() { $language = OW::getLanguage(); $menu = new BASE_CMP_ContentMenu(); $menuItem = new BASE_MenuItem(); $menuItem->setKey('all'); $menuItem->setPrefix('questions'); $menuItem->setLabel($language->text('questions', 'list_all_tab')); $menuItem->setOrder(1); $menuItem->setUrl(OW::getRouter()->urlForRoute('questions-all')); $menuItem->setIconClass('ow_ic_lens'); $menu->addElement($menuItem); if (OW::getUser()->isAuthenticated()) { if (OW::getPluginManager()->isPluginActive('friends')) { $menuItem = new BASE_MenuItem(); $menuItem->setKey('friends'); $menuItem->setPrefix('questions'); $menuItem->setLabel($language->text('questions', 'list_friends_tab')); $menuItem->setOrder(2); $menuItem->setUrl(OW::getRouter()->urlForRoute('questions-friends')); $menuItem->setIconClass('ow_ic_user'); $menu->addElement($menuItem); } $menuItem = new BASE_MenuItem(); $menuItem->setKey('my'); $menuItem->setPrefix('questions'); $menuItem->setLabel($language->text('questions', 'list_my_tab')); $menuItem->setOrder(3); $menuItem->setUrl(OW::getRouter()->urlForRoute('questions-my')); $menuItem->setIconClass('ow_ic_user'); $menu->addElement($menuItem); } return $menu; }
public function collectMailboxMenu(BASE_CLASS_EventCollector $event) { if (!OW::getUser()->isAuthorized('mailbox', 'send_message')) { return; } $language = OW::getLanguage(); $item = new BASE_MenuItem(); $item->setLabel($language->text('mcompose', 'compose_btn')); $item->setIconClass('ow_ic_new'); $item->setPrefix('mcompose'); $item->setUrl(OW::getRouter()->urlForRoute("mcompose-index")); $item->setKey('compose'); $item->setOrder(3); $event->add($item); $staticUrl = OW::getPluginManager()->getPlugin('mcompose')->getStaticUrl(); OW::getDocument()->addStyleSheet($staticUrl . 'style.css'); }
/** * Converts query result array into BASE_MenuItem items array. * * @param array $items */ public function getMenuItems(array $menuItems) { $resultArray = array(); foreach ($menuItems as $value) { $visible = (int) $value['visibleFor']; $auth = OW::getUser()->isAuthenticated(); if ($visible === 0 || $visible === 1 && $auth || $visible === 2 && !$auth) { continue; } if (!empty($value['externalUrl'])) { $url = $value['externalUrl']; } else { if (!empty($value['uri'])) { $url = OW::getRouter()->getBaseUrl() . $value['uri']; } else { if (!empty($value['routePath'])) { $url = OW::getRouter()->urlForRoute($value['routePath']); } else { if (!empty($value['class']) && !empty($value['action'])) { $url = OW::getRouter()->urlFor($value['class'], $value['action']); } else { $url = '_INVALID_URL_'; } } } } $menuItem = new BASE_MenuItem(); $menuItem->setKey($value['menu_key']); $menuItem->setLabel(OW::getLanguage()->text($value['prefix'], $value['menu_key'])); $menuItem->setOrder($value['order']); $menuItem->setUrl($url); $menuItem->setNewWindow($value['newWindow']); $menuItem->setPrefix($value['prefix']); $resultArray[] = $menuItem; } return $resultArray; }