Example #1
0
 public static function getMainMenu()
 {
     if (!isAdmin()) {
         return '';
     }
     $sUri = $_SERVER['REQUEST_URI'];
     $sPath = parse_url(BX_DOL_URL_ROOT, PHP_URL_PATH);
     if ($sPath && $sPath != '/' && 0 == strncmp($sPath, $sUri, strlen($sPath))) {
         $sUri = substr($sUri, strlen($sPath) - strlen($sUri));
     }
     $sUri = BX_DOL_URL_ROOT . trim($sUri, '/');
     $sFile = basename($_SERVER['PHP_SELF']);
     $oPermalinks = new BxDolPermalinks();
     $aMenu = $GLOBALS['MySQL']->getAll("SELECT `id`, `name`, `title`, `url`, `icon` FROM `sys_menu_admin` WHERE `parent_id`='0' ORDER BY `order`");
     $oZ = new BxDolAlerts('system', 'admin_menu', 0, 0, array('parent' => false, 'menu' => &$aMenu));
     $oZ->alert();
     $oBxDolAdminMenu = new self();
     $aItems = array();
     foreach ($aMenu as $aMenuItem) {
         $aMenuItem['url'] = str_replace(array('{siteUrl}', '{siteAdminUrl}'), array(BX_DOL_URL_ROOT, BX_DOL_URL_ADMIN), $aMenuItem['url']);
         $bActiveCateg = $sFile == 'index.php' && !empty($_GET['cat']) && $_GET['cat'] == $aMenuItem['name'];
         $aSubmenu = $GLOBALS['MySQL']->getAll("SELECT * FROM `sys_menu_admin` WHERE `parent_id`= ? ORDER BY `order`", [$aMenuItem['id']]);
         $oZ = new BxDolAlerts('system', 'admin_menu', 0, 0, array('parent' => &$aMenuItem, 'menu' => &$aSubmenu));
         $oZ->alert();
         $aSubitems = array();
         foreach ($aSubmenu as $aSubmenuItem) {
             $aSubmenuItem['url'] = $oPermalinks->permalink($aSubmenuItem['url']);
             $aSubmenuItem['url'] = str_replace(array('{siteUrl}', '{siteAdminUrl}'), array(BX_DOL_URL_ROOT, BX_DOL_URL_ADMIN), $aSubmenuItem['url']);
             if (!defined('BX_DOL_ADMIN_INDEX') && $aSubmenuItem['url'] != '' && (strpos($sUri, $aSubmenuItem['url']) !== false || strpos($aSubmenuItem['url'], $sUri) !== false)) {
                 $bActiveCateg = $bActiveItem = true;
             } else {
                 $bActiveItem = false;
             }
             $aSubitems[] = $oBxDolAdminMenu->_getMainMenuSubitem($aSubmenuItem, $bActiveItem);
         }
         $aItems[] = $oBxDolAdminMenu->_getMainMenuItem($aMenuItem, $aSubitems, $bActiveCateg);
     }
     return $GLOBALS['oAdmTemplate']->parseHtmlByName('main_menu.html', array('bx_repeat:items' => $aItems));
 }