'browse', 'name' => 'Browse'), ); var $sSection = "browse"; function do_main() { $this->oPage->setBreadcrumbDetails('searching'); $oTemplating = new KTTemplating; $oTemplate = $oTemplating->loadTemplate("ktcore/boolean_search"); $aCriteria = Criteria::getAllCriteria(); $aTemplateData = array( "aCriteria" => $aCriteria, ); return $oTemplate->render($aTemplateData); } function do_performSearch() { // TODO first extract environ vars // TODO second create criterion objects (see getAdvancedSearchResults for this. // TODO third get each one to generate the SQL snippet. (ENSURE that they are wrapped in '('..')' ) // TODO fourth array().join(' AND ') where appropriate // TODO finally return via PatternBrowseableSearchResults (urgh.) $datavars = KTUtil::arrayGet($_REQUEST, 'boolean_search'); if (!is_array($datavars)) { $datavars = unserialize($datavars); } $iSavedSearchId = KTUtil::arrayGet($_REQUEST, 'fSavedSearchId'); if (!empty($iSavedSearchId)) { $oSearch = KTSavedSearch::get($iSavedSearchId); $datavars = $oSearch->getSearch(); } if (empty($datavars)) { $this->errorRedirectToMain('You need to have at least 1 condition.'); } $res = $this->handleCriteriaSet($datavars, KTUtil::arrayGet($_REQUEST, 'fStartIndex', 1)); return $res; } function handleCriteriaSet($aCriteriaSet, $iStartIndex) { global $default; $aQuery = KTSearchUtil::criteriaToLegacyQuery($aCriteriaSet, $_SESSION['userID'], 'ktcore.permissions.read'); $aColumns = array("folder_name", "file_name", "document_name", "view"); $aColumnTypes = array(3,3,3,3); $aColumnHeaders = array("graphicsUrl/widgets/dfolder.gif\" />" . _("Folder") . "", "" . _("Name") . "", "" . _("Title") . "", "" . _("View") . ""); $aLinkURLs = array("$default->rootUrl/control.php?action=browse","$default->rootUrl/control.php?action=viewDocument", "$default->rootUrl/control.php?action=viewDocument", "$default->rootUrl/control.php?action=downloadDocument"); $aDBQueryStringColumns = array("document_id","folder_id"); $aQueryStringVariableNames = array("fDocumentID", "fFolderID"); $oPatternBrowse = & new PatternBrowseableSearchResults($aQuery, 10, $aColumns, $aColumnTypes, $aColumnHeaders, $aLinkURLs, $aDBQueryStringColumns, $aQueryStringVariableNames); $oPatternBrowse->setStartIndex($iStartIndex); $oPatternBrowse->setSearchText(""); $sFormStart = '
'; $sFormEnd = ''; $sFormEnd .= ''; return renderHeading(_("Advanced Search")) . $sFormStart . $oPatternBrowse->render() . $sFormEnd . $sRefreshMessage; } } $oDispatcher = new BooleanSearchDispatcher(); $oDispatcher->dispatch(); ?>