'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 = '