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; }
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; }
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; }
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; }