From ecf4ffafe16a9fef415e8d1f138502bbc6e30b2f Mon Sep 17 00:00:00 2001 From: Yagami Date: Mon, 19 Nov 2018 15:23:21 +0800 Subject: [PATCH] * Fix doc getlibs method. --- module/doc/control.php | 18 +----------------- module/doc/model.php | 20 ++++++++++++++++++++ module/tree/control.php | 18 +----------------- module/tree/view/edit.html.php | 2 +- 4 files changed, 23 insertions(+), 35 deletions(-) diff --git a/module/doc/control.php b/module/doc/control.php index 22ae79100f..92b9bcac0a 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -387,22 +387,6 @@ class doc extends control $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('doc', 'view', "docID=$docID"))); } - $libs = $this->doc->getLibs(); - foreach($libs as $id => $libName) - { - $lib = $this->doc->getLibById($id); - if($lib->project != 0) - { - $project = $this->loadModel('project')->getByID($lib->project); - $libs[$id] = $project->name . '/' . $libName; - } - if($lib->product != 0) - { - $product = $this->loadModel('product')->getByID($lib->product); - $libs[$id] = $product->name . '/' . $libName; - } - } - /* Get doc and set menu. */ $doc = $this->doc->getById($docID); $libID = $doc->lib; @@ -420,7 +404,7 @@ class doc extends control $this->view->doc = $doc; $this->view->moduleOptionMenu = $this->tree->getOptionMenu($libID, 'doc', $startModuleID = 0); $this->view->type = $type; - $this->view->libs = $libs; + $this->view->libs = $this->doc->getCompleteLibName(); $this->view->groups = $this->loadModel('group')->getPairs(); $this->view->users = $this->user->getPairs('noletter', $doc->users); $this->display(); diff --git a/module/doc/model.php b/module/doc/model.php index a571687f67..4f5ff54510 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -1523,4 +1523,24 @@ class docModel extends model return $actions; } + + public function getCompleteLibName() + { + $libPairs = array(); + $products = $this->loadModel('product')->getPairs(); + $projects = $this->loadModel('project')->getPairs(); + $stmt = $this->dao->select('id,project,product,name')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->query(); + + while($lib = $stmt->fetch()) + { + if($this->checkPrivLib($lib)) + { + if($lib->product != 0) $lib->name = zget($products, $lib->product) . '/' . $lib->name; + if($lib->project != 0) $lib->name = zget($projects, $lib->project) . '/' . $lib->name; + $libPairs[$lib->id] = $lib->name; + } + } + + return $libPairs; + } } diff --git a/module/tree/control.php b/module/tree/control.php index accb265a91..e7c00ca8d7 100644 --- a/module/tree/control.php +++ b/module/tree/control.php @@ -238,25 +238,9 @@ class tree extends control $this->view->optionMenu = $this->tree->getOptionMenu($module->root, $module->type, 0, $branch); } - $libs = $this->loadModel('doc')->getLibs(); - foreach($libs as $id => $libName) - { - $lib = $this->doc->getLibById($id); - if($lib->project != 0) - { - $project = $this->loadModel('project')->getByID($lib->project); - $libs[$id] = $project->name . '/' . $libName; - } - if($lib->product != 0) - { - $product = $this->loadModel('product')->getByID($lib->product); - $libs[$id] = $product->name . '/' . $libName; - } - } - $this->view->module = $module; $this->view->type = $type; - $this->view->libs = $libs; + $this->view->libs = $this->loadModel('doc')->getCompleteLibName(); $this->view->branch = $branch; $this->view->users = $this->loadModel('user')->getPairs('noclosed|nodeleted', $module->owner); diff --git a/module/tree/view/edit.html.php b/module/tree/view/edit.html.php index eb4f9d6e18..38de14660c 100644 --- a/module/tree/view/edit.html.php +++ b/module/tree/view/edit.html.php @@ -105,4 +105,4 @@ function loadDocModule(libID) }) } $(function(){$('.chosen').chosen();}) - +