protected function startup() { parent::startup(); if (($page = $this->pageRepository->findOneBy(array('special' => 'tags'))) === NULL) { $this->flashMessage($this->translator->translate('Page with tags does not exist.'), 'warning'); } else { $this->extendedPage = $this->getEntityManager()->getRepository($page->class)->findOneBy(array('page' => $page)); } }
/** * @param Form $form */ public function configure(Form $form) { $form->addText('name', 'Name')->addRule($form::FILLED); $form->addText('domain', 'Domain')->addRule($form::FILLED); /** @var ManyToOne $page */ $page = $form->addOneToOne('page', 'Page'); $page->setQuery($this->pageRepository->createQueryBuilder('a')->orderBy('a.positionString', 'ASC')); $form->addSaveButton('Save'); }
protected function startup() { parent::startup(); if (!$this->pageRepository->findOneBy(array('special' => 'users'))) { $this->template->hideForm = true; $this->flashMessage($this->translator->translate('User page does not exist.'), 'warning', false); } if (!$this->extendedPage->userType) { $this->template->hideForm = true; $this->flashMessage($this->translator->translate('Userform has not been set'), 'warning', false); } }
public function createComponentFileBrowser() { $control = $this->fileBrowserControlFactory->invoke(); $control->setBrowserMode((bool) $this->browserMode); if ($this->type) { if ($this->type == 'page') { $control->setRoot($this->pageRepository->find($this->page)->dir); } elseif ($this->type == 'route') { $control->setRoot($this->routeRepository->find($this->route)->dir); } } return $control; }
/** * @param Exception * @return void */ public function renderDefault($exception) { if ($this->isAjax()) { // AJAX request? Just note this error in payload. $this->payload->error = TRUE; $this->terminate(); } $code = $exception->getCode(); Debugger::log("HTTP code {$code}: {$exception->getMessage()} in {$exception->getFile()}:{$exception->getLine()}", 'access'); if (in_array($code, array(403, 404, 500))) { $page = $this->pageRepository->findOneBy(array('special' => $code)); if ($page) { $this->forward(':Cms:Pages:Text:Route:', array('routeId' => $page->mainRoute->id, 'pageId' => $page->id)); } } }
/** * @return AdminGrid */ public function invoke() { $_this = $this; $adminGrid = new AdminGrid($this->pageRepository); $table = $adminGrid->getTable(); $table->setModel(new Doctrine($this->pageRepository->createQueryBuilder('a')->addSelect('r')->innerJoin('a.mainRoute', 'r'), array('name' => 'r.name', 'created' => 'r.created', 'url' => 'r.url'))); $table->addColumnText('name', 'Name')->setCustomRender(function ($entity) { return $entity->mainRoute->name; })->setSortable()->setFilterText()->setSuggestion(); $table->getColumn('name')->getCellPrototype()->width = '50%'; $table->addColumnText('url', 'URL')->setCustomRender(function ($entity) { return $entity->mainRoute->url; })->setSortable()->setFilterText()->setSuggestion(); $table->getColumn('url')->getCellPrototype()->width = '25%'; $table->addColumnText('language', 'Language')->getCellPrototype()->width = '25%'; $adminGrid->onAttached[] = function (AdminGrid $table) use($_this) { $_this->onAttached($table); }; return $adminGrid; }
protected function startup() { parent::startup(); if (($page = $this->pageRepository->findOneBy(array('special' => 'users'))) === NULL) { $this->flashMessage($this->translator->translate('User page does not exist.'), 'warning'); } else { $this->extendedPage = $this->getEntityManager()->getRepository($page->class)->findOneBy(array('page' => $page)); } if (!$this->type) { $this->type = key($this->securityManager->getUserTypes()); } }
/** * @return ExtendedPageEntity * @throws BadRequestException */ public function getPageEntity() { if (!$this->_pageEntity) { if (!($this->_pageEntity = $this->pageRepository->find($this->key))) { throw new BadRequestException(); } if (!($this->_pageEntity = $this->getEntityManager()->getRepository($this->_pageEntity->class)->findOneBy(array('page' => $this->_pageEntity->id)))) { throw new BadRequestException(); } if ($this->websiteManager->defaultLanguage !== $this->languageEntity->alias) { $this->_pageEntity->page->locale = $this->_pageEntity->page->mainRoute->locale = $this->languageEntity; } } return $this->_pageEntity; }
public function getRoutes() { if ($this->page) { return $this->routeRepository->findBy(array('page' => $this->page)); } $lang = $this->getLanguage(); $ids = array(); $pages = $this->pageRepository->createQueryBuilder('a')->where('(a.language IS NULL OR a.language = :lang)')->setParameter('lang', $lang->id)->getQuery()->getResult(); foreach ($pages as $page) { if ($this->countRoutesByPage($page) <= $this->itemsLimit) { $ids[] = $page->id; } } return $this->routeRepository->createQueryBuilder('a')->andWhere('a.page IN (:ids)')->setParameter('ids', $ids)->andWhere('a.published = :true')->setParameter('true', TRUE)->getQuery()->getResult(); }
/** * @return \CmsModule\Content\Entities\PageEntity */ public function getRootPage() { return $this->extendedPage->rootPage ? $this->extendedPage->rootPage : $this->pageRepository->createQueryBuilder('a')->leftJoin('a.mainRoute', 'r')->where('r.parent IS NULL')->getQuery()->getSingleResult(); }
/** * @param \CmsModule\Content\Entities\PageEntity $page * @return \Doctrine\ORM\QueryBuilder */ private function getChildrenQb(\CmsModule\Content\Entities\PageEntity $page = NULL) { return $this->pageRepository->createQueryBuilder('a')->leftJoin('a.mainRoute', 'r')->andWhere('a.parent = :parent')->setParameter('parent', $page ? $page->id : NULL)->andWhere('(r.language IS NULL OR r.language = :language)')->setParameter('language', $this->presenter->language->id)->andWhere('a.published = :true')->andWhere('r.published = :true')->setParameter('true', TRUE)->orderBy('a.position', 'ASC'); }