diff --git a/module/common/model.php b/module/common/model.php
index 39604d6e16..adbae9c4b5 100644
--- a/module/common/model.php
+++ b/module/common/model.php
@@ -536,9 +536,7 @@ class commonModel extends model
*/
public static function getMainNavList(string $moduleName): array
{
- global $lang;
- global $app;
- global $config;
+ global $lang, $app, $config;
$app->loadLang('my');
@@ -570,7 +568,7 @@ class commonModel extends model
if(common::hasPriv($currentModule, $currentMethod)) $display = true;
/* 2. 如果没有资产库落地页的权限,则查看是否有资产库其他方法的权限. */
- if($currentModule == 'assetlib' && !$display) list($display, $currentMethod) = commonTao::setAssetLibMenu($display, $currentMethod);
+ if($currentModule == 'assetlib' && !$display) list($display, $currentMethod) = commonTao::setAssetLibMenu($display, $currentModule, $currentMethod);
/* 3. 可以个性化设置的导航,如果没有落地页的权限,则查看是否有其他落地页的权限。 */
$moduleLinkList = $currentModule . 'LinkList';
@@ -614,24 +612,15 @@ class commonModel extends model
}
/**
- * Print the main menu.
+ * Get active main menu.
*
- * @param bool $printHtml
* @static
* @access public
* @return string
*/
- public static function printMainMenu(bool $printHtml = true): string
+ public static function getActiveMainMenu(): string
{
- global $app, $lang, $config;
-
- /* Set main menu by app tab and module. */
- static::replaceMenuLang();
- static::setMainMenu();
- static::checkMenuVarsReplaced();
-
- $activeMenu = '';
- $tab = $app->tab;
+ global $app;
$isTutorialMode = commonModel::isTutorialMode();
$currentModule = $app->rawModule;
@@ -643,168 +632,69 @@ class commonModel extends model
/* Print all main menus. */
$menu = customModel::getMainMenu();
- $menuHtml = "
\n";
+ $activeMenu = '';
foreach($menu as $menuItem)
{
if(isset($menuItem->hidden) and $menuItem->hidden and (!isset($menuItem->tutorial) or !$menuItem->tutorial)) continue;
if(empty($menuItem->link)) continue;
- if($menuItem->divider) $menuHtml .= "";
/* Init the these vars. */
$alias = isset($menuItem->alias) ? $menuItem->alias : '';
$subModule = isset($menuItem->subModule) ? explode(',', $menuItem->subModule) : array();
- $class = isset($menuItem->class) ? $menuItem->class : '';
$exclude = isset($menuItem->exclude) ? $menuItem->exclude : '';
- $active = '';
- if($menuItem->name == $currentModule and strpos(",$exclude,", ",$currentModule-$currentMethod,") === false)
- {
- $activeMenu = $menuItem->name;
- $active = 'active';
- }
- if($subModule and in_array($currentModule, $subModule) and strpos(",$exclude,", ",$currentModule-$currentMethod,") === false)
- {
- $activeMenu = $menuItem->name;
- $active = 'active';
- }
+ if($menuItem->name == $currentModule and strpos(",$exclude,", ",$currentModule-$currentMethod,") === false) $activeMenu = $menuItem->name;
- if($menuItem->link['module'] == 'execution' and $menuItem->link['method'] == 'more')
+ if($subModule and in_array($currentModule, $subModule) and strpos(",$exclude,", ",$currentModule-$currentMethod,") === false) $activeMenu = $menuItem->name;
+
+ if($menuItem->link)
{
- $executionID = $menuItem->link['vars'];
- $menuHtml .= commonModel::buildMoreButton((int)$executionID, false);
- }
- elseif($menuItem->link['module'] == 'app' and $menuItem->link['method'] == 'serverlink')
- {
- $menuHtml .= commonModel::buildAppButton(false);
- }
- else
- {
- if($menuItem->link)
+ $module = '';
+ $method = '';
+
+ if(is_array($menuItem->link))
{
- $target = '';
- $module = '';
- $method = '';
- $link = commonModel::createMenuLink($menuItem);
+ if(isset($menuItem->link['module'])) $module = $menuItem->link['module'];
+ if(isset($menuItem->link['method'])) $method = $menuItem->link['method'];
+ }
- if($menuItem->link['module'] == 'project' and $menuItem->link['method'] == 'other') $link = 'javascript:void(0);';
+ if($module == $currentModule and ($method == $currentMethod or strpos(",$alias,", ",$currentMethod,") !== false) and strpos(",$exclude,", ",$currentMethod,") === false) $activeMenu = $menuItem->name;
- if(is_array($menuItem->link))
+ /* Print drop menus. */
+ if(isset($menuItem->dropMenu))
+ {
+ foreach($menuItem->dropMenu as $dropMenuName => $dropMenuItem)
{
- if(isset($menuItem->link['target'])) $target = $menuItem->link['target'];
- if(isset($menuItem->link['module'])) $module = $menuItem->link['module'];
- if(isset($menuItem->link['method'])) $method = $menuItem->link['method'];
- }
- if($module == $currentModule and ($method == $currentMethod or strpos(",$alias,", ",$currentMethod,") !== false) and strpos(",$exclude,", ",$currentMethod,") === false)
- {
- $activeMenu = $menuItem->name;
- $active = 'active';
- }
+ if(empty($dropMenuItem)) continue;
+ if(isset($dropMenuItem->hidden) and $dropMenuItem->hidden) continue;
- $label = $menuItem->text;
- $dropMenu = '';
- $misc = (isset($lang->navGroup->$module) and $tab != $lang->navGroup->$module) ? "data-app='$tab'" : '';
+ /* Parse drop menu link. */
+ $dropMenuLink = zget($dropMenuItem, 'link', $dropMenuItem);
- /* Print drop menus. */
- if(isset($menuItem->dropMenu))
- {
- foreach($menuItem->dropMenu as $dropMenuName => $dropMenuItem)
+ list($subLabel, $subModule, $subMethod, $subParams) = explode('|', $dropMenuLink);
+ if(!common::hasPriv($subModule, $subMethod)) continue;
+
+ $activeMainMenu = false;
+ if($currentModule == strtolower($subModule) and $currentMethod == strtolower($subMethod))
{
- if(empty($dropMenuItem)) continue;
- if(isset($dropMenuItem->hidden) and $dropMenuItem->hidden) continue;
-
- /* Parse drop menu link. */
- $dropMenuLink = zget($dropMenuItem, 'link', $dropMenuItem);
-
- list($subLabel, $subModule, $subMethod, $subParams) = explode('|', $dropMenuLink);
- if(!common::hasPriv($subModule, $subMethod)) continue;
-
- $subLink = helper::createLink($subModule, $subMethod, $subParams);
-
- $subActive = '';
- $activeMainMenu = false;
- if($currentModule == strtolower($subModule) and $currentMethod == strtolower($subMethod))
- {
- $activeMainMenu = true;
- }
- else
- {
- $subModule = isset($dropMenuItem['subModule']) ? explode(',', $dropMenuItem['subModule']) : array();
- $subExclude = isset($dropMenuItem['exclude']) ? $dropMenuItem['exclude'] : $exclude;
- if($subModule and in_array($currentModule, $subModule) and strpos(",$subExclude,", ",$currentModule-$currentMethod,") === false) $activeMainMenu = true;
- }
-
- if($activeMainMenu)
- {
- $activeMenu = $dropMenuName;
- $active = 'active';
- $subActive = 'active';
- $label = $subLabel;
- }
- $dropMenu .= "- " . html::a($subLink, $subLabel, '', "data-app='$tab'") . '
';
+ $activeMainMenu = true;
+ }
+ else
+ {
+ $subModule = isset($dropMenuItem['subModule']) ? explode(',', $dropMenuItem['subModule']) : array();
+ $subExclude = isset($dropMenuItem['exclude']) ? $dropMenuItem['exclude'] : $exclude;
+ if($subModule and in_array($currentModule, $subModule) and strpos(",$subExclude,", ",$currentModule-$currentMethod,") === false) $activeMainMenu = true;
}
- if(empty($dropMenu)) continue;
-
- $label .= "";
- $dropMenu = "";
-
- $menuHtml .= "- " . html::a($link, $label, $target, $misc) . $dropMenu . "
\n";
+ if($activeMainMenu) $activeMenu = $dropMenuName;
}
- else
- {
- $menuHtml .= "- " . html::a($link, $label, $target, $misc) . "
\n";
- }
- }
- else
- {
- $menuHtml .= "- $menuItem->text
\n";
}
}
}
- $menuHtml .= "
\n";
-
- if($printHtml) echo $menuHtml;
return $activeMenu;
}
- /**
- * Print the search box.
- *
- * @static
- * @access public
- * @return void
- */
- public static function printSearchBox()
- {
- global $lang;
- global $config;
-
- $searchObject = 'bug';
- echo "";
- echo html::hidden('searchType', $searchObject);
- echo "
';
- }
-
/**
* Print the module menu.
*
diff --git a/module/common/view/footer.html.php b/module/common/view/footer.html.php
deleted file mode 100755
index 160702d25a..0000000000
--- a/module/common/view/footer.html.php
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-getExtViewFile(__FILE__)){include $extView; return helper::cd();}?>
-
-
-viewType != 'xhtml'):?>
-
-vision != 'lite') echo $this->loadModel('score')->getNotice(); ?>
-
-
-
-loadModel('cron')->runnable()) js::execute('startCron()');
-if(isset($pageJS)) js::execute($pageJS); // load the js for current page.
-
-/* Load hook files for current page. */
-$extensionRoot = $this->app->getExtensionRoot();
-if($this->config->vision != 'open')
-{
- $extHookRule = $extensionRoot . $this->config->edition . '/common/ext/view/footer.*.hook.php';
- $extHookFiles = glob($extHookRule);
- if($extHookFiles) foreach($extHookFiles as $extHookFile) include $extHookFile;
-}
-if($this->config->vision == 'lite')
-{
- $extHookRule = $extensionRoot . $this->config->vision . '/common/ext/view/footer.*.hook.php';
- $extHookFiles = glob($extHookRule);
- if($extHookFiles) foreach($extHookFiles as $extHookFile) include $extHookFile;
-}
-$extHookRule = $extensionRoot . 'custom/common/ext/view/footer.*.hook.php';
-$extHookFiles = glob($extHookRule);
-if($extHookFiles) foreach($extHookFiles as $extHookFile) include $extHookFile;
-?>
-debug > 2 and $config->tabSession): ?>
-
-tsid=
-
-servertid=
-
-sid=
-
-
-zinTool))
-{
- $pageVars = get_defined_vars();
- $exportVars = array('lang' => $lang);
- foreach($pageVars as $varName => $varValue)
- {
- if(is_string($varValue) || is_bool($varValue) || is_numeric($varValue)) $exportVars[$varName] = $varValue;
- }
- js::set('pageVars', $exportVars);
-}
-?>
-