diff --git a/module/custom/control.php b/module/custom/control.php index 2ca5695ad7..c40554a5dd 100644 --- a/module/custom/control.php +++ b/module/custom/control.php @@ -470,9 +470,9 @@ class custom extends control { if($this->server->request_method == 'POST') { - $data = fixer::input('post')->get(); - $this->loadModel('setting')->deleteItems("owner={$this->app->user->account}&module=doc§ion=custom"); - $this->setting->setItems("{$this->app->user->account}.doc.custom", $data); + $data = fixer::input('post')->join('showLibs', ',')->get(); + $this->loadModel('setting')->deleteItems("owner={$this->app->user->account}&module=doc§ion=custom&key=showLibs"); + if($data)$this->setting->setItems("{$this->app->user->account}.doc.custom", $data); die(js::reload('parent.parent')); } } diff --git a/module/doc/config.php b/module/doc/config.php index 28310b0a3c..3d58a3459d 100644 --- a/module/doc/config.php +++ b/module/doc/config.php @@ -16,9 +16,8 @@ $config->doc->customObjectLibs = 'files,customFiles'; $config->doc->notArticleType = ''; $config->doc->custom = new stdclass(); -$config->doc->custom->objectLibs = $config->doc->customObjectLibs; -$config->doc->custom->showProjects = 'all'; -$config->doc->custom->showNullLib = false; +$config->doc->custom->objectLibs = $config->doc->customObjectLibs; +$config->doc->custom->showLibs = ''; $config->doc->editor = new stdclass(); $config->doc->editor->create = array('id' => 'content', 'tools' => 'fullTools'); diff --git a/module/doc/lang/en.php b/module/doc/lang/en.php index 1e87b1f309..5e72724dcb 100644 --- a/module/doc/lang/en.php +++ b/module/doc/lang/en.php @@ -139,10 +139,9 @@ $lang->doc->fastMenuIconList['collectedbyme'] = 'icon-folder-star'; $lang->doc->customObjectLibs['files'] = 'Show File Library'; $lang->doc->customObjectLibs['customFiles'] = 'Show Custom Library'; -$lang->doc->customShowLibs = 'Library display settings'; -$lang->doc->customShowNullLib = 'Display empty library'; -$lang->doc->customShowLibProjects['unclosed'] = 'Display projects that are not closed'; -$lang->doc->customShowLibProjects['all'] = 'Display all projects'; +$lang->doc->customShowLibs = 'Library display settings'; +$lang->doc->customShowLibsList['zero'] = 'Display empty library'; +$lang->doc->customShowLibsList['unclosed'] = 'Display projects that are not closed'; $lang->doc->confirmDelete = "Do you want to delete this document?"; $lang->doc->confirmDeleteLib = "Do you want to delete this Doc Lib?"; diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php index ef0daae99d..994bc252c0 100644 --- a/module/doc/lang/zh-cn.php +++ b/module/doc/lang/zh-cn.php @@ -139,10 +139,9 @@ $lang->doc->fastMenuIconList['collectedbyme'] = 'icon-folder-star'; $lang->doc->customObjectLibs['files'] = '显示附件库'; $lang->doc->customObjectLibs['customFiles'] = '显示自定义文档库'; -$lang->doc->customShowLibs = '文档库显示设置'; -$lang->doc->customShowNullLib = '显示空文档的库'; -$lang->doc->customShowLibProjects['unclosed'] = '显示未关闭的项目'; -$lang->doc->customShowLibProjects['all'] = '显示所有的项目'; +$lang->doc->customShowLibs = '文档库显示设置'; +$lang->doc->customShowLibsList['zero'] = '显示空文档的库'; +$lang->doc->customShowLibsList['unclosed'] = '显示未关闭的项目'; $lang->doc->confirmDelete = "您确定删除该文档吗?"; $lang->doc->confirmDeleteLib = "您确定删除该文档库吗?"; diff --git a/module/doc/model.php b/module/doc/model.php index 8851b66bc2..5d39ecc40a 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -137,7 +137,7 @@ class docModel extends model $stmt = $this->dao->select('t1.*')->from(TABLE_DOCLIB)->alias('t1') ->leftJoin($table)->alias('t2')->on("t1.$type=t2.id") ->where("t1.$type")->ne(0) - ->beginIF($type == 'project' and $this->config->doc->custom->showProjects == 'unclosed')->andWhere('t2.status')->notin('done,closed')->fi() + ->beginIF($type == 'project' and strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi() ->andWhere('t1.deleted')->eq(0) ->orderBy("t2.order desc, t1.order, t1.id") ->query(); @@ -911,7 +911,7 @@ class docModel extends model $fields = $type == 'product' ? "createdBy, createdDate" : "openedBy AS createdBy, openedDate AS createdDate"; $libs = $this->dao->select("id, name, `order`, {$fields}")->from($table) ->where('id')->in($idList) - ->beginIF($type == 'project' and $this->config->doc->custom->showProjects == 'unclosed')->andWhere('status')->notin('done,closed')->fi() + ->beginIF($type == 'project' and strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('status')->notin('done,closed')->fi() ->orderBy('`order` desc, id desc') ->page($pager, 'id') ->fetchAll('id'); @@ -971,7 +971,7 @@ class docModel extends model $hasProject = $this->dao->select('DISTINCT product')->from(TABLE_PROJECTPRODUCT)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id') ->where('t1.product')->in($productIdList) - ->beginIF($this->config->doc->custom->showProjects == 'unclosed')->andWhere('t2.status')->notin('done,closed')->fi() + ->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi() ->andWhere('t2.deleted')->eq(0) ->fetchPairs('product', 'product'); } @@ -995,7 +995,7 @@ class docModel extends model } $projects = $this->dao->select('id,name,status')->from(TABLE_PROJECT) ->where('id')->in(array_keys($projectLibs)) - ->beginIF($this->config->doc->custom->showProjects == 'unclosed')->andWhere('status')->notin('done,closed')->fi() + ->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('status')->notin('done,closed')->fi() ->andWhere('deleted')->eq('0') ->orderBy('`order`_desc') ->fetchAll(); @@ -1033,7 +1033,7 @@ class docModel extends model if($type == 'product' or $type == 'project') { $nonzeroLibs = array(); - if($this->config->doc->custom->showNullLib) + if(strpos($this->config->doc->custom->showLibs, 'zero') !== false) { $nonzeroLibs = $this->dao->select('lib,count(*) as count')->from(TABLE_DOC)->where('deleted')->eq('0')->groupBy('lib')->having('count')->ne(0)->fetchPairs('lib', 'lib'); } @@ -1042,8 +1042,8 @@ class docModel extends model $stmt = $this->dao->select('t1.*')->from(TABLE_DOCLIB)->alias('t1') ->leftJoin($table)->alias('t2')->on("t1.$type=t2.id") ->where('t1.deleted')->eq(0)->andWhere("t1.$type")->ne(0) - ->beginIF($type == 'project' and $this->config->doc->custom->showProjects == 'unclosed')->andWhere('t2.status')->notin('done,closed')->fi() - ->beginIF($this->config->doc->custom->showNullLib)->andWhere('t1.id')->in($nonzeroLibs)->fi() + ->beginIF($type == 'project' and strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi() + ->beginIF(strpos($this->config->doc->custom->showLibs, 'zero') !== false)->andWhere('t1.id')->in($nonzeroLibs)->fi() ->orderBy("t2.`order` desc, t1.`order` asc, id desc") ->query(); } @@ -1094,7 +1094,7 @@ class docModel extends model $hasProject = $this->dao->select('DISTINCT product')->from(TABLE_PROJECTPRODUCT)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id') ->where('t1.product')->in($idList) - ->beginIF($this->config->doc->custom->showProjects == 'unclosed')->andWhere('t2.status')->notin('done,closed')->fi() + ->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi() ->andWhere('t2.deleted')->eq(0) ->fetchPairs('product', 'product'); } @@ -1137,7 +1137,7 @@ class docModel extends model $hasProject = $this->dao->select('DISTINCT product, count(project) as projectCount')->from(TABLE_PROJECTPRODUCT)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id') ->where('t1.product')->eq($objectID) - ->beginIF($this->config->doc->custom->showProjects == 'unclosed')->andWhere('t2.status')->notin('done,closed')->fi() + ->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi() ->andWhere('t2.deleted')->eq(0) ->groupBy('product') ->fetchPairs('product', 'projectCount'); @@ -1403,7 +1403,7 @@ class docModel extends model ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2')->on('t1.root=t2.project') ->leftJoin(TABLE_PROJECT)->alias('t3')->on('t1.root=t3.id') ->where('t2.product')->eq($objectID) - ->beginIF($this->config->doc->custom->showProjects == 'unclosed')->andWhere('t3.status')->notin('done,closed')->fi() + ->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t3.status')->notin('done,closed')->fi() ->andWhere('t1.type')->eq('project') ->andWhere('t3.deleted')->eq('0') ->fetchPairs('account', 'account'); diff --git a/module/doc/view/side.html.php b/module/doc/view/side.html.php index dd0accf17f..445c1fae9d 100644 --- a/module/doc/view/side.html.php +++ b/module/doc/view/side.html.php @@ -154,15 +154,7 @@ if(empty($type)) $type = 'product';
' target='hiddenwin' method='post'> - - - - +
-
- doc->custom->showNullLib) echo 'checked';?>> - -
-
doc->customShowLibProjects, $config->doc->custom->showProjects);?>doc->customShowLibsList, $config->doc->custom->showLibs);?>