コード例 #1
0
 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'));
 }
コード例 #2
0
 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");
 }