/** * Return an array of admin pages, suitable for use in a dropdown. * * @internal * @since 1.12 * @param bool $none A flag indicating wether 'none' should be the first option. * @return array The keys of the array are langified strings to display to the user. The values are URLS. */ public function GetAdminPages($none = TRUE) { $opts = array(); if ($none) { $opts[ucfirst(lang('none'))] = ''; } $depth = 0; $menuItems = $this->get_admin_navigation(); foreach ($menuItems as $sectionKey => $menuItem) { if ($menuItem['parent'] != -1) { continue; } // only parent pages if (!$menuItem['show_in_menu'] || strlen($menuItem['url']) < 1) { continue; } // only visible stuff $opts[$menuItem['title']] = CmsAdminUtils::get_generic_url($menuItem['url']); if (is_array($menuItem['children']) && count($menuItem['children'])) { foreach ($menuItem['children'] as $thisChild) { if ($thisChild == 'home' || $thisChild == 'logout' || $thisChild == 'viewsite') { continue; } $menuChild = $menuItems[$thisChild]; if (!$menuChild['show_in_menu'] || strlen($menuChild['url']) < 1) { continue; } //$opts[' '.$menuChild['title']] = cms_htmlentities($menuChild['url']); $url = $menuChild['url']; $url = CmsAdminUtils::get_generic_url($url); $opts[' ' . $menuChild['title']] = $url; } } } return $opts; }