Exemple #1
0
 public function getPages($parent = NULL)
 {
     $this->setState((int) $parent, TRUE);
     $repository = $this->getPresenter()->getContext()->cms->pageRepository;
     $data = array();
     $dql = $repository->createQueryBuilder('a');
     if ($parent) {
         $dql = $dql->andWhere('a.parent = ?1')->setParameter(1, $parent);
     } else {
         $dql = $dql->andWhere('a.parent IS NULL');
     }
     $dql->orderBy('a.position');
     $types = $this->contentManager->getContentTypes();
     foreach ($dql->getQuery()->getResult() as $page) {
         if (!$page->isAllowedInBackend($this->presenter->user, ExtendedPageEntity::ADMIN_PRIVILEGE_SHOW)) {
             continue;
         }
         $type = explode('.', $types[$page->class]);
         $type = $this->presenter->template->translate(end($type));
         $item = array('title' => $page->mainRoute->name . ' <small class="muted">' . $type . '</small>', 'key' => $page->id);
         if (count($page->children) > 0) {
             $item['isLazy'] = TRUE;
         }
         if (!$page->parent || $this->getState((int) $page->id)) {
             $item['expand'] = TRUE;
             $item['children'] = $this->getPages($page->id);
         }
         $data[] = $item;
     }
     return $data;
 }
Exemple #2
0
 /**
  * @return \CmsModule\Content\IContentType
  */
 private function getContentType()
 {
     $entityClass = $this->entityManager->getClassMetadata(get_class($this->getPageEntity()))->getName();
     return $this->contentManager->getContentType($entityClass);
 }