_rootFolderID; } else { $folderid = $_GET["folderid"]; } $folder = $dms->getFolder($folderid); if (!is_object($folder)) { UI::exitError(getMLText("search_results"),getMLText("invalid_folder_id")); } // Create the keyword search string. This search spans up to three columns // in the database: keywords, name and comment. if (isset($_GET["query"]) && is_string($_GET["query"])) { $query = $_GET["query"]; } else { $query = ""; } // category $categories = array(); if(isset($_GET['categoryids']) && $_GET['categoryids']) { foreach($_GET['categoryids'] as $catid) { if($catid > 0) { $category = $dms->getDocumentCategory($catid); $categories[] = $category->getName(); } } } // // Get the page number to display. If the result set contains more than // 25 entries, it is displayed across multiple pages. // // This requires that a page number variable be used to track which page the // user is interested in, and an extra clause on the select statement. // // Default page to display is always one. $pageNumber=1; if (isset($_GET["pg"])) { if (is_numeric($_GET["pg"]) && $_GET["pg"]>0) { $pageNumber = (integer)$_GET["pg"]; } else if (!strcasecmp($_GET["pg"], "all")) { $pageNumber = "all"; } } // --------------- Suche starten -------------------------------------------- $folderPathHTML = getFolderPathHTML($folder, true); UI::htmlStartPage(getMLText("search_results")); UI::globalNavigation($folder); UI::pageNavigation($folderPathHTML, "", $folder); UI::contentHeading(getMLText("search_results")); // Check to see if the search has been restricted to a particular // document owner. $owner = null; if (isset($_GET["ownerid"]) && is_numeric($_GET["ownerid"]) && $_GET["ownerid"]!=-1) { $owner = $dms->getUser($_GET["ownerid"]); if (!is_object($owner)) { UI::contentContainer(getMLText("unknown_owner")); UI::htmlEndPage(); exit; } } $pageNumber=1; if (isset($_GET["pg"])) { if (is_numeric($_GET["pg"]) && $_GET["pg"]>0) { $pageNumber = (integer)$_GET["pg"]; } else if (!strcasecmp($_GET["pg"], "all")) { $pageNumber = "all"; } } $startTime = getTime(); if($settings->_enableFullSearch) { if(!empty($settings->_luceneClassDir)) require_once($settings->_luceneClassDir.'/Lucene.php'); else require_once('LetoDMS/Lucene.php'); } $index = Zend_Search_Lucene::open($settings->_luceneDir); $lucenesearch = new LetoDMS_Lucene_Search($index); $hits = $lucenesearch->search($query, $owner ? $owner->getLogin() : '', '', $categories); $limit = 25; $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); } else { $resArr['totalPages'] = 1; } $resArr['docs'] = array(); $resArr['totalDocs'] = 0; if($hits) { $resArr['totalDocs'] = 0; //count($hits); foreach($hits as $hit) { if($tmp = $dms->getDocument($hit['document_id'])) { $resArr['docs'][] = $tmp; $resArr['totalDocs']++; } } } $searchTime = getTime() - $startTime; $searchTime = round($searchTime, 2); UI::contentContainerStart(); ?>
$resArr['totalDocs'])); } ?> $searchTime));?>
"; print "\n\n"; //print "\n"; print "".getMLText("name")."\n"; print "".getMLText("owner")."\n"; print "".getMLText("status")."\n"; print "".getMLText("version")."\n"; print "".getMLText("comment")."\n"; //print "".getMLText("reviewers")."\n"; //print "".getMLText("approvers")."\n"; print "\n\n\n"; $resultsFilteredByAccess = false; foreach ($resArr['docs'] as $document) { if ($document->getAccessMode($user) < M_READ) { $resultsFilteredByAccess = true; } else { $lc = $document->getLatestContent(); print ""; $docName = $document->getName(); print "getID()."\">/"; $folder = $document->getFolder(); $path = $folder->getPath(); for ($i = 1; $i < count($path); $i++) { print $path[$i]->getName()."/"; } print $docName; print ""; $owner = $document->getOwner(); print "".$owner->getFullName().""; print "".getOverallStatusText($lc->getStatus()). ""; print "".$lc->getVersion().""; $comment = $document->getComment(); if (strlen($comment) > 50) $comment = substr($comment, 0, 47) . "..."; print "".$comment.""; print "\n"; } } if ($resultsFilteredByAccess) { print "". getMLText("search_results_access_filtered") . ""; } print "\n"; UI::pageList($pageNumber, $resArr['totalPages'], "../op/op.Search.php", $_GET); UI::contentContainerEnd(); UI::htmlEndPage(); ?>