/** * Returns all Pages listed in a given folder * * @param string $strFolderid * * @return class_module_pages_page[] * @static */ public static function getPagesInFolder($strFolderid = "") { if (!validateSystemid($strFolderid)) { $strFolderid = class_module_system_module::getModuleByName("pages")->getSystemid(); } return class_module_pages_page::getObjectList($strFolderid); }
/** * Loads the level of pages and/or folders stored under a single systemid. * Transforms a page- or a folder-node into a navigation-node. * This node is used for portal-actions only, so there's no way to edit the node. * * @param string $strSourceId * * @return class_module_navigation_point[]|array * @since 3.4 */ private static function loadPageLevelToNavigationNodes($strSourceId) { $arrPages = class_module_pages_page::getObjectList($strSourceId); $arrReturn = array(); //transform the sublevel foreach ($arrPages as $objOneEntry) { //validate status if ($objOneEntry->getIntRecordStatus() == 0 || !$objOneEntry->rightView()) { continue; } $objLanguage = new class_module_languages_language(); if ($objOneEntry instanceof class_module_pages_page) { //validate if the page to be linked has a template assigned and at least a single element created if ($objOneEntry->getIntType() == class_module_pages_page::$INT_TYPE_ALIAS || $objOneEntry->getStrTemplate() != "" && count(class_module_pages_pageelement::getPlainElementsOnPage($objOneEntry->getSystemid(), true, $objLanguage->getStrPortalLanguage())) > 0) { $objPoint = new class_module_navigation_point(); $objPoint->setStrName($objOneEntry->getStrBrowsername() != "" ? $objOneEntry->getStrBrowsername() : $objOneEntry->getStrName()); $objPoint->setIntRecordStatus(1); //if in alias mode, then check what type of target is requested if ($objOneEntry->getIntType() == class_module_pages_page::$INT_TYPE_ALIAS) { $strAlias = uniStrtolower($objOneEntry->getStrAlias()); if (uniStrpos($strAlias, "http") !== false) { $objPoint->setStrPageE($objOneEntry->getStrAlias()); } else { $objPoint->setStrPageI($objOneEntry->getStrAlias()); } $objPoint->setStrTarget($objOneEntry->getStrTarget()); } else { $objPoint->setStrPageI($objOneEntry->getStrName()); } $objPoint->setSystemid($objOneEntry->getSystemid()); $arrReturn[] = $objPoint; } } } //merge with elements on the page - if given /** @var $objInstance class_module_pages_page */ $objInstance = class_objectfactory::getInstance()->getObject($strSourceId); if ($objInstance instanceof class_module_pages_page) { if ($objInstance->getIntType() != class_module_pages_page::$INT_TYPE_ALIAS) { $arrReturn = array_merge($arrReturn, self::getAdditionalEntriesForPage($objInstance)); } //else // $arrReturn = array_merge($arrReturn, self::getAdditionalEntriesForPage(class_module_pages_page::getPageByName($objInstance->getStrAlias()))); } return $arrReturn; }