Esempio n. 1
0
 /**
  * @param int $iLevel level of current NavigationItem (expensive to calculate from the NavigationItem alone)
  * @param BooleanParser $oBooleanParser the BooleanParser instance holding information about the current NavigationItem’s properties]
  * @param NavigationItem $oNavigationItem the current navigation item
  * @return string parsed navigation
  */
 private function getConfigForPage($iLevel, $oBooleanParser, $oNavigationItem)
 {
     $aConfigToCheck = @$this->aConfig[$iLevel];
     if ($aConfigToCheck === null) {
         if (!isset($this->aConfig['all'])) {
             return null;
         }
         $aConfigToCheck = $this->aConfig['all'];
     }
     foreach ($aConfigToCheck as $aConfig) {
         if (isset($aConfig['page_name']) && $aConfig['page_name'] !== $oNavigationItem->getName()) {
             continue;
         }
         if (isset($aConfig['page_identifier']) && $aConfig['page_identifier'] !== $oNavigationItem->getIdentifier()) {
             continue;
         }
         if (isset($aConfig['page_type']) && $aConfig['page_type'] !== $oNavigationItem->getType()) {
             continue;
         }
         if (!isset($aConfig['on']) || $oBooleanParser->parse($aConfig['on'])) {
             return $aConfig;
         }
     }
     return null;
 }