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()); }
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); }
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); }
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(); }
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()); }
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; } }
public function renderSitemap() { $this->template->sitemap = $this->pageFacade->findForSitemap(); }