isAuthenticated() ) { $item = new BASE_CMP_ConsoleDropdownMenu(BOL_UserService::getInstance()->getDisplayName(OW::getUser()->getId())); $item->setUrl($router->urlForRoute('base_user_profile', array('username' => OW::getUser()->getUserObject()->getUsername()))); $item->addItem('main', array('label' => $language->text('base', 'console_item_label_profile'), 'url' => $router->urlForRoute('base_user_profile', array('username' => OW::getUser()->getUserObject()->getUsername())))); $item->addItem('main', array('label' => $language->text('base', 'edit_index'), 'url' => $router->urlForRoute('base_edit'))); $item->addItem('main', array('label' => $language->text('base', 'preference_index'), 'url' => $router->urlForRoute('base_preference_index'))); $item->addItem('foot', array('label' => $language->text('base', 'console_item_label_sign_out'), 'url' => $router->urlForRoute('base_sign_out'))); $addItemsEvent = new BASE_CLASS_EventCollector('base.add_main_console_item'); OW::getEventManager()->trigger($addItemsEvent); $addItems = $addItemsEvent->getData(); foreach ( $addItems as $addItem ) { if ( !empty($addItem['label']) && !empty($addItem['url']) ) { $item->addItem('main', array('label' => $addItem['label'], 'url' => $addItem['url'])); } } $event->addItem($item, 2); if ( OW::getUser()->isAdmin() ) { $item = new BASE_CMP_ConsoleDropdownMenu($language->text('admin', 'main_menu_admin')); $item->setUrl($router->urlForRoute('admin_default')); $item->addItem('head', array('label' => $language->text('admin', 'console_item_admin_dashboard'), 'url' => $router->urlForRoute('admin_default'))); $item->addItem('main', array('label' => $language->text('admin', 'console_item_manage_theme'), 'url' => $router->urlForRoute('admin_themes_edit'))); $item->addItem('main', array('label' => $language->text('admin', 'console_item_manage_users'), 'url' => $router->urlForRoute('admin_users_browse'))); $item->addItem('main', array('label' => $language->text('admin', 'console_item_manage_pages'), 'url' => $router->urlForRoute('admin_pages_main'))); $item->addItem('main', array('label' => $language->text('admin', 'console_item_manage_plugins'), 'url' => $router->urlForRoute('admin_plugins_installed'))); $event->addItem($item, 1); } } else { $item = new BASE_CMP_ConsoleSwitchLanguage(); $event->addItem($item, 0); } } public function defaultPing( BASE_CLASS_ConsoleDataEvent $event ) { $event->setItemData('console', array( 'time' => time() )); } public function ping( OW_Event $originalEvent ) { $data = $originalEvent->getParams(); $event = new BASE_CLASS_ConsoleDataEvent('console.ping', $data, $data); $this->defaultPing($event); OW::getEventManager()->trigger($event); $data = $event->getData(); $originalEvent->setData($data); } public function init() { OW::getEventManager()->bind(BASE_CTRL_Ping::PING_EVENT . '.consoleUpdate', array($this, 'ping')); OW::getEventManager()->bind('console.collect_items', array($this, 'collectItems')); } public function addSignInCmp( BASE_CLASS_EventCollector $event ) { $cmp = new BASE_CMP_SignIn(true); $event->add('
' . $cmp->render() . '
'); } }