diff --git a/op/op.Search.php b/op/op.Search.php index 481b6e300..9be9da8bc 100644 --- a/op/op.Search.php +++ b/op/op.Search.php @@ -131,34 +131,44 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"]) { } Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('utf-8'); - $index = Zend_Search_Lucene::open($settings->_luceneDir); - $lucenesearch = new SeedDMS_Lucene_Search($index); - $hits = $lucenesearch->search($query, $owner ? $owner->getLogin() : '', '', $categorynames); - $totalDocs = count($hits); - $totalFolders = 0; - $limit = 20; - $resArr = array(); - if($pageNumber != 'all' && count($hits) > $limit) { - $resArr['totalPages'] = (int) (count($hits) / $limit); - if ((count($hits)%$limit) > 0) - $resArr['totalPages']++; - $hits = array_slice($hits, ($pageNumber-1)*$limit, $limit); + if(strlen($query) < 4 && strpos($query, '*')) { + $session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm'))); + $resArr = array(); + $resArr['totalDocs'] = 0; + $resArr['totalFolders'] = 0; + $resArr['totalPages'] = 0; + $entries = array(); + $searchTime = 0; } else { - $resArr['totalPages'] = 1; - } + $index = Zend_Search_Lucene::open($settings->_luceneDir); + $lucenesearch = new SeedDMS_Lucene_Search($index); + $hits = $lucenesearch->search($query, $owner ? $owner->getLogin() : '', '', $categorynames); + $limit = 20; + $resArr = array(); + $resArr['totalDocs'] = count($hits); + $resArr['totalFolders'] = 0; + if($pageNumber != 'all' && count($hits) > $limit) { + $resArr['totalPages'] = (int) (count($hits) / $limit); + if ((count($hits)%$limit) > 0) + $resArr['totalPages']++; + $hits = array_slice($hits, ($pageNumber-1)*$limit, $limit); + } else { + $resArr['totalPages'] = 1; + } - $entries = array(); - if($hits) { - foreach($hits as $hit) { - if($tmp = $dms->getDocument($hit['document_id'])) { - if($tmp->getAccessMode($user) >= M_READ) { - $entries[] = $tmp; + $entries = array(); + if($hits) { + foreach($hits as $hit) { + if($tmp = $dms->getDocument($hit['document_id'])) { + if($tmp->getAccessMode($user) >= M_READ) { + $entries[] = $tmp; + } } } } + $searchTime = getTime() - $startTime; + $searchTime = round($searchTime, 2); } - $searchTime = getTime() - $startTime; - $searchTime = round($searchTime, 2); // }}} } else { // Search in Database {{{