Ejemplo n.º 1
0
 public function reloadItems()
 {
     $pageProxy = new SxCms_Page_Proxy();
     $xmlMapper = new SxCms_Page_TreeMapper();
     $xmlMapper->loadSource(APPLICATION_PATH . '/var/navigation.xml');
     $items = $xmlMapper->map($pageProxy->getSiteTree($this->language, false, null, true));
     $menus = array();
     foreach ($items as $page) {
         if (strtotime($page->getDatePublished()) <= time() && (strtotime($page->getDateExpired()) >= time() || is_null($page->getDateExpired()) && $page->getInvisible() == 0)) {
             $page->setActive(false);
             $menus[$page->getId()] = $page;
         }
     }
     self::$items = $menus;
 }
Ejemplo n.º 2
0
 public function hasChildren()
 {
     $mapper = new SxCms_Page_TreeMapper();
     $mapper->loadSource(APPLICATION_PATH . '/var/navigation.xml');
     $order = $mapper->getChildOrder($this->getId());
     if (count($order) > 0) {
         return true;
     }
     return false;
 }
Ejemplo n.º 3
0
 public function tinymceLinkAction()
 {
     $this->_helper->layout->setLayout('nolayout');
     $system = new Zend_Session_Namespace('System');
     $pageProxy = new SxCms_Page_Proxy();
     $xmlMapper = new SxCms_Page_TreeMapper();
     $xmlMapper->loadSource(APPLICATION_PATH . '/var/navigation.xml');
     $sorted = $xmlMapper->map($pageProxy->getSiteTree($system->lng));
     $this->view->siteTree = $sorted;
     $this->view->xmlMapper = $xmlMapper;
     $this->view->lng = $system->lng;
 }
Ejemplo n.º 4
0
 public function getPagesByParentId($parentId, $skip = null, $language = 'nl', $sort = true, $activeOnly = false)
 {
     $cacheId = 'getPagesByParentId_' . (int) $parentId . (int) $skip . $language . (int) $sort . (int) $activeOnly;
     $cache = Zend_Registry::get('cache');
     if (true == ($result = $cache->load($cacheId))) {
         return $result;
     }
     $db = Zend_Registry::get('db');
     $select = $db->select()->from(array('p' => 'Page'), array('*'))->join(array('t' => 'PageTsl'), 'p.page_id = t.page_id')->where('p.parent_id = ?', $parentId)->where('p.page_id != 0')->order('p.parent_id ASC')->where('p.type != ' . SxCms_Page::ARTICLE);
     if ($skip && $skip->getId()) {
         $select->where('p.page_id != ?', $skip->getId());
     }
     if ($language) {
         $select->where('t.language = ?', $language);
     }
     if ($activeOnly) {
         $select->where('date_published <= NOW() OR date_published IS NULL');
         $select->where('date_expired >= NOW() OR date_expired IS NULL');
         $select->where('t.invisible = 0');
     }
     $stmt = $db->query($select);
     $result = $stmt->fetchAll();
     $pages = $this->_getCollection($result);
     if ($sort) {
         $mapper = new SxCms_Page_TreeMapper();
         $mapper->loadSource(APPLICATION_PATH . '/var/navigation.xml');
         $order = $mapper->getChildOrder($parentId);
         $sorted = array();
         foreach ($order as $id) {
             if (isset($pages[$id])) {
                 $sorted[$id] = $pages[$id];
             }
         }
         $pages = $sorted;
     }
     $cache->save($pages, $cacheId, array('SxCms_Page'));
     return $pages;
 }