diff --git a/module/tree/model.php b/module/tree/model.php index b3d70108df..dd9f0dc084 100644 --- a/module/tree/model.php +++ b/module/tree/model.php @@ -288,6 +288,7 @@ class treeModel extends model public function getTaskTreeMenu($rootID, $productID = 0, $startModule = 0, $userFunc, $extra = '') { $extra = array('projectID' => $rootID, 'productID' => $productID, 'tip' => true); + /* If createdVersion <= 4.1, go to getTreeMenu(). */ $createdVersion = $this->dao->select('openedVersion')->from(TABLE_PROJECT) ->where('id')->eq($rootID) @@ -311,8 +312,11 @@ class treeModel extends model } $manage = $userFunc[1] == 'createTaskManageLink' ? true : false; + + /* if not manage, only get linked modules and ignore others. */ if(!$manage) $projectModules = $this->getTaskTreeModules($rootID, true); + /* Get module according to product. */ foreach($products as $id => $product) { $extra['productID'] = $id; @@ -335,7 +339,9 @@ class treeModel extends model $stmt = $this->dbh->query($query); while($module = $stmt->fetch()) { + /* if not manage, ignore unused modules. */ if(!$manage and !isset($projectModules[$module->id])) continue; + $linkHtml = call_user_func($userFunc, 'task', $module, $extra); if(isset($treeMenu[$module->id]) and !empty($treeMenu[$module->id])) @@ -348,14 +354,14 @@ class treeModel extends model { if(isset($treeMenu[$module->parent]) and !empty($treeMenu[$module->parent])) { - $treeMenu[$module->parent] .= "