From c4958b368b6021de36e7d3b0fbfeff4ef40584db Mon Sep 17 00:00:00 2001 From: wangyuting Date: Mon, 17 Jun 2024 16:19:46 +0800 Subject: [PATCH] * [bug#51149,done,3h,0h] Merge workflow mainNav before setOpenAdd function. --- framework/base/router.class.php | 19 +++---------------- framework/router.class.php | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/framework/base/router.class.php b/framework/base/router.class.php index a835987ed2..e5d4607096 100644 --- a/framework/base/router.class.php +++ b/framework/base/router.class.php @@ -1224,24 +1224,11 @@ class baseRouter */ public function setOpenApp() { - if(isset($this->config->zin)) - { - $module = $this->rawModule; - $tab = ''; - - if(isset($_SERVER['HTTP_X_ZIN_APP'])) $tab = $_SERVER['HTTP_X_ZIN_APP']; - elseif(isset($_COOKIE['tab']) && $_COOKIE['tab'] && preg_match('/^\w+$/', $_COOKIE['tab'])) $tab = $_COOKIE['tab']; - elseif(isset($this->lang->navGroup)) $tab = zget($this->lang->navGroup, $module, 'my'); - - if(!isset($this->lang->mainNav->{$tab}) && !isset($_SERVER['HTTP_X_ZIN_APP'])) $tab = ''; - $this->tab = empty($tab) ? 'my' : $tab; - return; - } - $module = $this->rawModule; $this->tab = 'my'; - if(isset($this->lang->navGroup) && $module) $this->tab = zget($this->lang->navGroup, $module, 'my'); - if(isset($_COOKIE['tab']) and $_COOKIE['tab'] and preg_match('/^\w+$/', (string) $_COOKIE['tab'])) $this->tab = $_COOKIE['tab']; + if(isset($this->lang->navGroup)) $this->tab = zget($this->lang->navGroup, $module, 'my'); + if(isset($_COOKIE['tab']) && $_COOKIE['tab'] && preg_match('/^\w+$/', $_COOKIE['tab'])) $this->tab = $_COOKIE['tab']; + if(isset($this->config->zin) && isset($_SERVER['HTTP_X_ZIN_APP'])) $this->tab = $_SERVER['HTTP_X_ZIN_APP']; if(!isset($this->lang->mainNav->{$this->tab})) $this->tab = 'my'; } diff --git a/framework/router.class.php b/framework/router.class.php index 5d4ebc6631..ff5c26ccec 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -153,6 +153,8 @@ class router extends baseRouter } } + if($this->config->edition != 'open') $this->mergeFlowLang(); + /* Merge from the db lang. */ if($moduleName != 'common' and isset($lang->db->custom[$moduleName])) { @@ -207,6 +209,20 @@ class router extends baseRouter return $lang; } + /** + * Merge workflow mainNav Lang. + * + * @access public + * @return void + */ + public function mergeFlowLang() + { + if(defined('IN_UPGRADE')) return; + + $flows = $this->dbQuery('SELECT * FROM ' . TABLE_WORKFLOW . " WHERE `buildin` = 0 AND `vision` = '{$this->config->vision}' AND status = 'normal' AND type = 'flow' AND `navigator` = 'primary'")->fetchAll(); + foreach($flows as $flow) $this->lang->mainNav->{$flow->module} = "{$this->lang->navIcons['workflow']} {$flow->name}|{$flow->module}|browse|"; + } + /** * Set common lang. *