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