public function index($params) { if (empty($params['documentKey'])) { throw new Redirect404Exception(); } $language = OW::getLanguage(); $documentKey = $params['documentKey']; $document = $this->navService->findDocumentByKey($documentKey); if ($document === null) { throw new Redirect404Exception(); } $menuItem = $this->navService->findMenuItemByDocumentKey($document->getKey()); if ($menuItem !== null) { if (!$menuItem->getVisibleFor() || $menuItem->getVisibleFor() == BOL_NavigationService::VISIBLE_FOR_GUEST && OW::getUser()->isAuthenticated()) { throw new Redirect403Exception(); } if ($menuItem->getVisibleFor() == BOL_NavigationService::VISIBLE_FOR_MEMBER && !OW::getUser()->isAuthenticated()) { throw new AuthenticateException(); } } $this->assign('content', $language->text('base', "local_page_content_{$document->getKey()}")); $this->setPageHeading($language->text('base', "local_page_title_{$document->getKey()}")); $this->setPageTitle($language->text('base', "local_page_title_{$document->getKey()}")); $this->documentKey = $document->getKey(); $this->setDocumentKey($document->getKey()); OW::getEventManager()->bind(OW_EventManager::ON_BEFORE_DOCUMENT_RENDER, array($this, 'setCustomMetaInfo')); }
public function deleteItem(BOL_MenuItem $item) { $document = $this->navigationService->findDocumentByKey($item->getDocumentKey()); $this->navigationService->deleteDocument($document); $this->navigationService->deleteMenuItem($item); $this->deleteLanguageKeyIfExists($item->getPrefix(), $item->getKey()); $this->deleteLanguageKeyIfExists(self::LANG_PREFIX, $item->getKey() . "_title"); $this->deleteLanguageKeyIfExists(self::LANG_PREFIX, $item->getKey() . "_content"); }