function getSubNodes($cID, $level = 0, $keywords = '', $autoOpenNodes = true) { $db = Loader::db(); $obj = new stdClass(); if (isset($cID) && (Loader::helper('validation/numbers')->integer($cID) || $cID == 0)) { if ($keywords != '' && $keywords != false) { $nc = Page::getByID($cID, 'RECENT'); $pl = new PageList(); if (PERMISSIONS_MODEL != 'simple') { $pl->setViewPagePermissionKeyHandle('view_page_in_sitemap'); } $obj->keywords = $keywords; $pl->filterByName($keywords); $pl->ignoreAliases(); $pl->filterByPath($nc->getCollectionPath()); $pl->displayUnapprovedPages(); $pl->sortByDisplayOrder(); $results = $pl->get(SITEMAP_PAGES_LIMIT); $total = $pl->getTotal(); } else { $pl = new PageList(); if (PERMISSIONS_MODEL != 'simple') { $pl->setViewPagePermissionKeyHandle('view_page_in_sitemap'); } $pl->sortByDisplayOrder(); if (ConcreteDashboardSitemapHelper::showSystemPages()) { $pl->includeSystemPages(); $pl->includeInactivePages(); } $pl->filterByParentID($cID); $pl->displayUnapprovedPages(); $total = $pl->getTotal(); if ($cID == 1) { $results = $pl->get(); } else { $pl->setItemsPerPage(SITEMAP_PAGES_LIMIT); $results = $pl->getPage(); } } $nodes = array(); foreach ($results as $c) { $n = ConcreteDashboardSitemapHelper::getNode($c, $level + 1, $autoOpenNodes); if ($n != false) { $nodes[] = $n; } } $obj->total = $total; $obj->nodeID = $cID; $obj->pageList = $pl; $obj->results = $nodes; } else { $obj->total = 0; $obj->nodeID = 0; $obj->pageList = null; $obj->results = null; } return $obj; }
<?php defined('C5_EXECUTE') or die("Access Denied."); $sh = Loader::helper('concrete/dashboard/sitemap'); if (!$sh->canRead()) { die(t('Access Denied')); } session_write_close(); $keywords = $_REQUEST['q']; Loader::model('page_list'); $pl = new PageList(); $pl->filterByName($keywords); if (PERMISSIONS_MODEL != 'simple') { $pl->setViewPagePermissionKeyHandle('view_page_in_sitemap'); } $pl->ignoreAliases(); $pl->sortBy('cID', 'asc'); $pl->setItemsPerPage(5); $pages = $pl->getPage(); $results = array(); $nh = Loader::helper('navigation'); foreach ($pages as $c) { $obj = new stdClass(); $obj->href = $nh->getLinkToCollection($c); $obj->cID = $c->getCollectionID(); $obj->name = $c->getCollectionName(); $results[] = $obj; } print Loader::helper("json")->encode($results);