Example #1
0
 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));
     }
 }
Example #2
0
 /**
  * @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');
 }
Example #3
0
 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);
     }
 }
Example #4
0
 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;
 }
Example #5
0
 /**
  * @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));
         }
     }
 }
Example #6
0
 /**
  * @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;
 }
Example #7
0
 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());
     }
 }
Example #8
0
 /**
  * @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;
 }
Example #9
0
 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();
 }
Example #10
0
 /**
  * @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();
 }
Example #11
0
 /**
  * @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');
 }