예제 #1
0
파일: CMS.php 프로젝트: difra-org/difra
 /**
  * Get pages list
  * @param \DOMElement $node
  * @param int $menuId
  * @param MenuItem $currentItem
  */
 public function getAvailablePagesXML($node, $menuId, $currentItem = null)
 {
     $current = MenuItem::getList($menuId);
     $currentIds = [];
     if (!empty($current)) {
         foreach ($current as $item) {
             $currentIds[] = $item->getPage();
         }
     }
     $all = CMS\Page::getList(true);
     if (!empty($all)) {
         foreach ($all as $item) {
             if (!$currentItem or $item->getId() != $currentItem->getPage()) {
                 if (in_array($item->getId(), $currentIds)) {
                     continue;
                 }
             }
             /** @var $pageNode \DOMElement */
             $pageNode = $node->appendChild($node->ownerDocument->createElement('page'));
             $item->getXML($pageNode);
         }
     }
 }
예제 #2
0
파일: CMS.php 프로젝트: difra-org/difra
 /**
  * Get pages list
  * @param \DOMElement|\DOMNode $node
  * @param bool|int $visible
  * @return bool
  */
 public function getListXML($node, $visible = null)
 {
     $data = Page::getList($visible);
     if (empty($data)) {
         return false;
     }
     foreach ($data as $page) {
         $pageNode = $node->appendChild($node->ownerDocument->createElement('page'));
         $page->getXML($pageNode);
     }
     return true;
 }