Esempio n. 1
0
 public function __construct(PageFacade $pageFacade, IPageControlFactory $pageControlFactory, IPaginatorFactory $paginatorFactory)
 {
     $this->pageFacade = $pageFacade;
     $this->pageControlFactory = $pageControlFactory;
     $this->paginatorFactory = $paginatorFactory;
     $this->resultSet = $this->pageFacade->fetchPages((new PageQuery())->forOverview()->withTags()->onlyPublished()->orderByPublishedAt('DESC')->withCommentsCount()->indexedByPageId());
 }
Esempio n. 2
0
 public function actionTag($internal_id)
 {
     if ($internal_id === null) {
         //$this->flashMessage('', FlashMessage::WARNING);
         $this->redirect(':Pages:Front:Page:default');
     }
     $this['pageTitle']->setPageTitle('Vyhledávání podle štítku');
     $this['metas']->addMeta('robots', 'noindex, nofollow');
     $this->pages = $this->pageFacade->searchByTag($internal_id);
 }
Esempio n. 3
0
 public function removePage(SubmitButton $button)
 {
     if (!$this->authorizator->isAllowed($this->user, 'page', 'remove')) {
         $this->flashMessage('authorization.noPermission', FlashMessage::WARNING);
         return;
     }
     try {
         $this->pageFacade->removePage($this->page);
     } catch (DBALException $e) {
         $this->flashMessage('pageRemoval.flashMessages.savingError', FlashMessage::ERROR);
         $this->redirect('this');
     }
     $this->onPageRemoval($this, $this->page);
 }
Esempio n. 4
0
 public function render()
 {
     $template = $this->getTemplate();
     $template->setFile(__DIR__ . '/overview.latte');
     $resultSet = $this->pageFacade->fetchPages($this->pageQuery);
     /** @var Paginator $paginator */
     $paginator = $this['vs']->getPaginator();
     $resultSet->applyPaginator($paginator, $this->pagesCount);
     $pages = $resultSet->toArray();
     $template->pages = $pages;
     $template->pagesCount = count($pages);
     $template->title = $this->title;
     $template->icon = $this->icon;
     $template->hiddenOnNoPages = $this->hiddenOnNoPages;
     $template->render();
 }
Esempio n. 5
0
 public function actionRemove($id)
 {
     $this->page = $this->pageFacade->fetchPage((new PageQuery())->byPageId($id)->withCommentsCount());
     if ($this->page === null) {
         $this->flashMessage('pages.messages.articleNotFound', FlashMessage::WARNING);
         $this->redirect(':Pages:Admin:Page:overview');
     }
     $this['pageTitle']->setPageTitle('pageRemoval.title')->joinTitleText(' - ' . $this->page[0]->getTitle());
 }
Esempio n. 6
0
 private function pageSaving(\Nette\Forms\Form $form, $isDraft)
 {
     if (!$this->authorizator->isAllowed($this->user, 'page', 'create') or !$this->authorizator->isAllowed($this->user, 'page', 'edit')) {
         $this->flashMessage('authorization.noPermission', FlashMessage::WARNING);
         return;
     }
     $values = $form->getValues(true);
     $values['saveAsDraft'] = (bool) $isDraft;
     $values['author'] = $this->user;
     $tags = $form->getHttpData(Form::DATA_TEXT, 'tags[]');
     $values['tags'] = $tags;
     try {
         $page = $this->pageFacade->save($values, $this->page);
         $this->flashMessage('pageEditForm.messages.success' . ($values['saveAsDraft'] ? 'Draft' : 'Publish'), FlashMessage::SUCCESS);
         $this->onSuccessPageSaving($this, $page);
     } catch (PagePublicationTimeMissingException $ptm) {
         $form->addError($this->translator->translate('pageEditForm.messages.missingPublicationTime'));
         return;
     } catch (PagePublicationTimeException $pt) {
         $form->addError($this->translator->translate('pageEditForm.messages.publishedPageInvalidPublicationTime'));
         return;
     } catch (PageIntroHtmlLengthException $pi) {
         $form->addError($this->translator->translate('pageEditForm.messages.pageIntroHtmlLength'));
         return;
     } catch (PageTitleAlreadyExistsException $at) {
         $form->addError($this->translator->translate('pageEditForm.messages.titleExists'));
         return;
     } catch (UrlAlreadyExistsException $ur) {
         $form['url']->setValue(Strings::webalize($values['title'], '/'));
         $form->addError($this->translator->translate('pageEditForm.messages.urlExists'));
         return;
     } catch (DBALException $e) {
         $form->addError($this->translator->translate('pageEditForm.messages.savingError'));
         return;
     }
 }
Esempio n. 7
0
 public function renderSitemap()
 {
     $this->template->sitemap = $this->pageFacade->findForSitemap();
 }