webMenuOrder); $currentModule = $app->rawModule; $webMainMenus = array(); foreach($lang->webMenuOrder as $webMainMenuKey) { list($label, $moduleName, $methodName, $params) = explode('|', $lang->webMainNav->$webMainMenuKey); if(!common::hasPriv($moduleName, $methodName)) continue; $active = ''; if($currentModule == $moduleName) $active = '1'; if(isset($lang->navGroup->$currentModule) and ($lang->navGroup->$currentModule == $moduleName or $lang->navGroup->$currentModule == $webMainMenuKey)) $active = '1'; if(isset($lang->webMenuGroup[$currentModule]) and $lang->webMenuGroup[$currentModule] == $webMainMenuKey) $active = '1'; $webMainMenu = new stdclass(); $webMainMenu->link = helper::createLink($moduleName, $methodName, $params); $webMainMenu->active = $active; $webMainMenu->title = $label; $webMainMenus[$webMainMenuKey] = $webMainMenu; } $maxBottomMenuCount = common::checkNotCN() ? 6 : 7; $i = 0; $count = count($webMainMenus); foreach($webMainMenus as $webMainMenuKey => $webMainMenu) { $i++; $active = $webMainMenu->active ? 'active' : ''; if($count <= $maxBottomMenuCount or ($count > ($maxBottomMenuCount) && $i < ($maxBottomMenuCount))) { echo html::a($webMainMenu->link, "
{$webMainMenu->title}
", '', "class='item {$active}' data-id='$webMainMenuKey'"); } if($count <= $maxBottomMenuCount) continue; if($i == ($maxBottomMenuCount)) { $style = '{"position": "absolute", "top": "auto", "left": "auto", "bottom": 48, "right": 0}'; echo ""; echo "
"; echo "
$lang->more
"; echo "
\n
"; echo ""; } } public static function printWebModuleMenu($moduleName) { global $app, $lang; ksort($lang->$moduleName->webMenuOrder); $groupName = isset($lang->webMenuGroup[$moduleName]) ? $lang->webMenuGroup[$moduleName] : ''; $currentModule = strtolower($app->rawModule); $currentMethod = strtolower($app->rawMethod); $moduleWebMenus = array(); foreach($lang->$moduleName->webMenuOrder as $webMenuKey) { if($groupName) { $moduleWebMenu = $lang->$groupName->webMenu->$webMenuKey; } else { $moduleWebMenu = $lang->$moduleName->webMenu->$webMenuKey; } $link = is_array($moduleWebMenu) ? $moduleWebMenu['link'] : $moduleWebMenu; list($label, $linkModuleName, $linkMethodName, $params) = explode('|', $link); if(!common::hasPriv($linkModuleName, $linkMethodName)) continue; if(is_string($moduleWebMenu)) { $moduleWebMenu = array(); $moduleWebMenu['link'] = $link; } $active = ''; if($currentModule == $linkModuleName and $currentMethod == strtolower($linkMethodName)) $active = '1'; if($currentModule == $linkModuleName and isset($moduleWebMenu['alias']) and stripos(",{$moduleWebMenu['alias']},", ",{$currentMethod},") !== false) $active = '1'; if(isset($moduleWebMenu['subModule']) and strpos(",{$moduleWebMenu['subModule']},", ",{$currentModule},") !== false) $active = '1'; $moduleWebMenu = new stdclass(); $moduleWebMenu->link = helper::createLink($linkModuleName, $linkMethodName, $params); $moduleWebMenu->active = $active; $moduleWebMenu->title = $label; $moduleWebMenus[$webMenuKey] = $moduleWebMenu; } foreach($moduleWebMenus as $webMenuKey => $moduleWebMenu) { $active = $moduleWebMenu->active ? 'active' : ''; echo html::a($moduleWebMenu->link, $moduleWebMenu->title, '', "class='$active' data-id='{$webMenuKey}'"); } }