/**
  * Render method
  *
  * @param integer $pageUid
  * @param boolean $includeHidden
  * @param boolean $showHiddenInMenu
  * @return string
  */
 public function render($pageUid = NULL, $includeHidden = FALSE, $showHiddenInMenu = FALSE)
 {
     if (NULL === $pageUid || TRUE === empty($pageUid) || 0 === intval($pageUid)) {
         $pageUid = $GLOBALS['TSFE']->id;
     }
     $menu = $this->pageSelect->getMenu($pageUid, array(), '', $showHiddenInMenu);
     $pageHasSubPages = 0 < count($menu);
     if (TRUE === $pageHasSubPages) {
         return $this->renderThenChild();
     } else {
         return $this->renderElseChild();
     }
 }
 /**
  * This method decides if the condition is TRUE or FALSE. It can be overriden in extending viewhelpers to adjust functionality.
  *
  * @param array $arguments ViewHelper arguments to evaluate the condition for this ViewHelper, allows for flexiblity in overriding this method.
  * @return bool
  */
 protected static function evaluateCondition($arguments = NULL)
 {
     $pageUid = $arguments['pageUid'];
     $includeHidden = $arguments['includeHidden'];
     $showHiddenInMenu = $arguments['showHiddenInMenu'];
     if (NULL === $pageUid || TRUE === empty($pageUid) || 0 === intval($pageUid)) {
         $pageUid = $GLOBALS['TSFE']->id;
     }
     if (self::$pageSelect === NULL) {
         $objectManager = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
         self::$pageSelect = $objectManager->get('FluidTYPO3\\Vhs\\Service\\PageSelectService');
     }
     $menu = self::$pageSelect->getMenu($pageUid, array(), '', $showHiddenInMenu);
     $pageHasSubPages = 0 < count($menu);
     return TRUE === $pageHasSubPages;
 }
 /**
  * @param $pageUid
  * @param string $where
  * @return array
  */
 public function getMenu($pageUid, $where = '')
 {
     $excludePages = $this->processPagesArgument($this->arguments['excludePages']);
     $showHiddenInMenu = (bool) $this->arguments['showHiddenInMenu'];
     $allowedDoktypeList = $this->allowedDoktypeList();
     $menuData = $this->pageSelect->getMenu($pageUid, $excludePages, $where, $showHiddenInMenu, FALSE, $allowedDoktypeList);
     return $menuData;
 }
 /**
  * @param $pageUid
  * @param string $where
  * @return array
  */
 public function getMenu($pageUid, $where = '')
 {
     $excludePages = $this->processPagesArgument($this->arguments['excludePages']);
     $showHiddenInMenu = (bool) $this->arguments['showHiddenInMenu'];
     $allowedDoktypeList = $this->allowedDoktypeList();
     $menuData = $this->pageSelect->getMenu($pageUid, $excludePages, $where, $showHiddenInMenu, FALSE, $allowedDoktypeList);
     foreach ($menuData as $key => $page) {
         if (TRUE === $this->pageSelect->hidePageForLanguageUid($page['uid'], $GLOBALS['TSFE']->sys_language_uid)) {
             unset($menuData[$key]);
         }
     }
     return $menuData;
 }