pass start and root folder to fulltext search

This commit is contained in:
Uwe Steinmann 2020-12-17 18:34:40 +01:00
parent b6b2b7e9a2
commit 14cf90a5bb

View File

@ -166,6 +166,19 @@ if(((!isset($_GET["fullsearch"]) && $settings->_defaultSearchMethod == 'fulltext
$status[] = S_EXPIRED;
}
// Check to see if the search has been restricted to a particular sub-tree in
// the folder hierarchy.
$startFolder = null;
if (isset($_GET["targetid"]) && is_numeric($_GET["targetid"]) && $_GET["targetid"]>0) {
$targetid = $_GET["targetid"];
$startFolder = $dms->getFolder($targetid);
if (!is_object($startFolder)) {
UI::exitError(getMLText("search"),getMLText("invalid_folder_id"));
}
}
$rootFolder = $dms->getFolder($settings->_rootFolderID);
$startTime = getTime();
if($settings->_fullSearchEngine == 'lucene') {
Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('utf-8');
@ -183,7 +196,7 @@ if(((!isset($_GET["fullsearch"]) && $settings->_defaultSearchMethod == 'fulltext
if($index) {
$limit = 20;
$lucenesearch = $fulltextservice->Search();
$searchresult = $lucenesearch->search($query, array('owner'=>$owner, 'status'=>$status, 'category'=>$categorynames, 'user'=>$user->isAdmin() ? [] : [$user->getLogin()], 'mimetype'=>$mimetype), ($pageNumber == 'all' ? array() : array('limit'=>$limit, 'offset'=>$limit * ($pageNumber-1))));
$searchresult = $lucenesearch->search($query, array('owner'=>$owner, 'status'=>$status, 'category'=>$categorynames, 'user'=>$user->isAdmin() ? [] : [$user->getLogin()], 'mimetype'=>$mimetype, 'startFolder'=>$startFolder, 'rootFolder'=>$rootFolder), ($pageNumber == 'all' ? array() : array('limit'=>$limit, 'offset'=>$limit * ($pageNumber-1))));
if($searchresult === false) {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm')));
$dcount = 0;