From e83d8e1be9ca3493757097d34d9ab8dd59d68b93 Mon Sep 17 00:00:00 2001 From: Yagami Date: Wed, 24 Oct 2018 15:16:34 +0800 Subject: [PATCH] * Finish task #5040. --- module/doc/control.php | 10 +++++++++- module/doc/js/browse.js | 1 - module/doc/model.php | 10 ++++++++-- module/doc/view/browsebygrid.html.php | 1 + module/doc/view/index.html.php | 1 + module/doc/view/objectlibs.html.php | 1 + module/doc/view/objectlibsbylist.html.php | 1 + 7 files changed, 21 insertions(+), 4 deletions(-) diff --git a/module/doc/control.php b/module/doc/control.php index 4b81ae4317..b98db93a6d 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -46,6 +46,9 @@ class doc extends control $this->lang->modulePageActions = $this->doc->setFastMenu($this->lang->doc->fast); $this->lang->modulePageActions .= common::hasPriv('doc', 'createLib') ? html::a(helper::createLink('doc', 'createLib'), " " . $this->lang->doc->createLib, '', "class='btn btn-secondary iframe'") : ''; + $actionURL = $this->createLink('doc', 'browse', "lib=0&browseType=bySearch&queryID=myQueryID"); + $this->doc->buildSearchForm(0, array(), 0, $actionURL, 'index'); + $this->view->title = $this->lang->doc->common . $this->lang->colon . $this->lang->doc->index; $this->view->position[] = $this->lang->doc->index; $this->view->latestEditedDocs = $this->loadModel('doc')->getDocsByBrowseType(0, 'byediteddate', 0, 0, 'editedDate_desc, id_desc', $pager); @@ -112,7 +115,7 @@ class doc extends control $this->lang->set('menugroup.doc', 'project'); } - $menuType = (!$type && in_array($browseType, array_keys($this->lang->doc->fastMenuList))) ? $browseType : $type; + $menuType = (!$type && (in_array($browseType, array_keys($this->lang->doc->fastMenuList)) || $browseType == 'bysearch')) ? $browseType : $type; $this->doc->setMenu($menuType, $libID, $moduleID, $productID, $projectID); $this->session->set('docList', $this->app->getURI(true)); @@ -136,6 +139,7 @@ class doc extends control if($module) $title = $module->name; if($libID) $title = html::a(helper::createLink('doc', 'browse', "libID=$libID"), $this->libs[$libID], ''); if(in_array($browseType, array_keys($this->lang->doc->fastMenuList))) $title = $this->lang->doc->fastMenuList[$browseType]; + if($browseType == 'bysearch') $title = $this->lang->doc->search; if($param != 0) $title = $this->doc->buildCrumbTitle($libID, $param, $title); if($browseType == 'fastsearch') { @@ -793,6 +797,10 @@ class doc extends control /* Set Custom. */ foreach(explode(',', $this->config->doc->customObjectLibs) as $libType) $customObjectLibs[$libType] = $this->lang->doc->customObjectLibs[$libType]; + + $actionURL = $this->createLink('doc', 'browse', "lib=0&browseType=bySearch&queryID=myQueryID"); + $this->doc->buildSearchForm(0, array(), 0, $actionURL, 'objectLibs'); + $this->view->customObjectLibs = $customObjectLibs; $this->view->showLibs = $this->config->doc->custom->objectLibs; diff --git a/module/doc/js/browse.js b/module/doc/js/browse.js index 1ba5d470ee..8403b5ff6f 100644 --- a/module/doc/js/browse.js +++ b/module/doc/js/browse.js @@ -20,7 +20,6 @@ $(function() if(browseType == 'byediteddate' || browseType == 'openedbyme' || browseType == 'collectedbyme') { $('#pageActions ul.dropdown-menu').css('left', '0px'); - $('#bysearchTab').remove(); } $('#' + browseType + 'Tab').addClass('active'); }); diff --git a/module/doc/model.php b/module/doc/model.php index 8851b66bc2..9d1d20f9f3 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -354,7 +354,7 @@ class docModel extends model $docQuery = str_replace("`lib` = 'all'", '1', $docQuery); // Search all lib. $docs = $this->dao->select('*')->from(TABLE_DOC)->where($docQuery) - ->beginIF(!$libCond)->andWhere("lib")->eq($libID)->fi() + ->beginIF(!$libCond and $libID != 0)->andWhere("lib")->eq($libID)->fi() ->beginIF($this->config->doc->notArticleType)->andWhere('type')->notIN($this->config->doc->notArticleType)->fi() ->andWhere('deleted')->eq(0) ->fetchAll('id'); @@ -708,6 +708,12 @@ class docModel extends model $moduleOptionMenu = $this->loadModel('tree')->getOptionMenu($libID, 'doc', $startModuleID = 0); $this->config->doc->search['params']['module']['values'] = $moduleOptionMenu; + if($type == 'index' || $type == 'objectLibs') + { + unset($this->config->doc->search['fields']['module']); + unset($this->config->doc->search['fields']['lib']); + } + $this->loadModel('search')->setSearchParams($this->config->doc->search); } @@ -1493,7 +1499,7 @@ class docModel extends model public function setFastMenu($fastLib) { $actions = ''; - if($this->app->methodName == 'browse') $actions .= '' . $this->lang->doc->search . ''; + $actions .= '' . $this->lang->doc->search . ''; $actions .= "" . $fastLib . " "; $actions .= "