/**
  * @param FrontendController $fec
  * @param $navEntries
  * @param $activeRouteID
  * @param null $parentNavID
  * @return array
  */
 private function generateNavigationReal($fec, $navEntries, $activeRouteID, $parentNavID = null)
 {
     $navArr = array();
     foreach ($navEntries as $n) {
         if ($n->parent_navigation_entry_IDFK != $parentNavID) {
             continue;
         }
         if ($n->route_IDFK == $activeRouteID) {
             $this->getActiveRoutes($fec->getDB(), $n->ID, $n->navigation_IDFK, $fec->getLocaleHandler()->getLanguage());
         }
         $n->subNav = $this->generateNavigationReal($fec, $navEntries, $activeRouteID, $n->ID);
         $navArr[] = $n;
     }
     return $navArr;
 }
Beispiel #2
0
 /**
  * @param FrontendController $fec
  * @param $navEntries
  * @param $activeRouteID
  * @param null $parentNavID
  * @return array
  */
 private function generateNavigationReal($fec, $navEntries, $activeRouteID, $parentNavID = null)
 {
     $navArr = array();
     foreach ($navEntries as $n) {
         if ($n->parent_navigation_entry_IDFK != $parentNavID) {
             continue;
         }
         if ($activeRouteID !== null && $n->route_IDFK == $activeRouteID) {
             $this->getActiveRoutes($fec->getDB(), $n->ID, $n->navigation_IDFK, $fec->getLocaleHandler()->getLanguage());
         }
         // Call HOOK HERE!
         $n->subNav = array();
         $subNavLoadedEvent = new SubNavLoadedEvent($n, in_array($n->route_IDFK, $this->activeRoutes), $this->activeRoutes, $this->settings);
         $fec->getEventDispatcher()->dispatch($this->identifier . '.beforeSubNavLoaded', $subNavLoadedEvent);
         $n->subNav += $this->generateNavigationReal($fec, $navEntries, $activeRouteID, $n->ID);
         $fec->getEventDispatcher()->dispatch($this->identifier . '.afterSubNavLoaded', $subNavLoadedEvent);
         $n->active = in_array($n->route_IDFK, $this->activeRoutes);
         $navArr[] = $n;
     }
     return $navArr;
 }