Commit f3ec1285071078a7092269c9aa1e3a5edb725f58
1 parent
8df55057
Modernise to use the document collections system.
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@4254 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
51 additions
and
20 deletions
presentation/lookAndFeel/knowledgeTree/search/booleanSearch.php
| ... | ... | @@ -20,7 +20,8 @@ class BooleanSearchDispatcher extends KTStandardDispatcher { |
| 20 | 20 | var $sSection = "browse"; |
| 21 | 21 | |
| 22 | 22 | function do_main() { |
| 23 | - $this->oPage->setBreadcrumbDetails('searching'); | |
| 23 | + $this->aBreadcrumbs[] = array('url' => $_SERVER['PHP_SELF'], 'name' => "Boolean search"); | |
| 24 | + $this->oPage->setBreadcrumbDetails('defining search'); | |
| 24 | 25 | $oTemplating = new KTTemplating; |
| 25 | 26 | $oTemplate = $oTemplating->loadTemplate("ktcore/boolean_search"); |
| 26 | 27 | |
| ... | ... | @@ -43,6 +44,10 @@ class BooleanSearchDispatcher extends KTStandardDispatcher { |
| 43 | 44 | if (!is_array($datavars)) { |
| 44 | 45 | $datavars = unserialize($datavars); |
| 45 | 46 | } |
| 47 | + $boolean_search_id = KTUtil::arrayGet($_REQUEST, 'boolean_search_id'); | |
| 48 | + if ($boolean_search_id) { | |
| 49 | + $datavars = $_SESSION['boolean_search'][$boolean_search_id]; | |
| 50 | + } | |
| 46 | 51 | $iSavedSearchId = KTUtil::arrayGet($_REQUEST, 'fSavedSearchId'); |
| 47 | 52 | if (!empty($iSavedSearchId)) { |
| 48 | 53 | $oSearch = KTSavedSearch::get($iSavedSearchId); |
| ... | ... | @@ -52,31 +57,57 @@ class BooleanSearchDispatcher extends KTStandardDispatcher { |
| 52 | 57 | if (empty($datavars)) { |
| 53 | 58 | $this->errorRedirectToMain('You need to have at least 1 condition.'); |
| 54 | 59 | } |
| 55 | - | |
| 60 | + | |
| 56 | 61 | $res = $this->handleCriteriaSet($datavars, KTUtil::arrayGet($_REQUEST, 'fStartIndex', 1)); |
| 57 | 62 | |
| 58 | 63 | return $res; |
| 59 | 64 | } |
| 60 | 65 | |
| 61 | 66 | function handleCriteriaSet($aCriteriaSet, $iStartIndex) { |
| 62 | - global $default; | |
| 63 | - $aQuery = KTSearchUtil::criteriaToLegacyQuery($aCriteriaSet, $_SESSION['userID'], 'ktcore.permissions.read'); | |
| 64 | - $aColumns = array("folder_name", "file_name", "document_name", "view"); | |
| 65 | - $aColumnTypes = array(3,3,3,3); | |
| 66 | - $aColumnHeaders = array("<font color=\"ffffff\"><img src=\"$default->graphicsUrl/widgets/dfolder.gif\" />" . _("Folder") . "</font>", "<font color=\"ffffff\">" . _("Name") . "</font>", "<font color=\"ffffff\">" . _("Title") . "</font>", "<font color=\"ffffff\">" . _("View") . "</font>"); | |
| 67 | - $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"); | |
| 68 | - $aDBQueryStringColumns = array("document_id","folder_id"); | |
| 69 | - $aQueryStringVariableNames = array("fDocumentID", "fFolderID"); | |
| 70 | - | |
| 71 | - $oPatternBrowse = & new PatternBrowseableSearchResults($aQuery, 10, $aColumns, $aColumnTypes, $aColumnHeaders, $aLinkURLs, $aDBQueryStringColumns, $aQueryStringVariableNames); | |
| 72 | - $oPatternBrowse->setStartIndex($iStartIndex); | |
| 73 | - $oPatternBrowse->setSearchText(""); | |
| 74 | - $sFormStart = '<form method="POST" name="MainForm">'; | |
| 75 | - | |
| 76 | - $sFormEnd = '<input type="hidden" name="boolean_search" value="'. htmlentities(serialize($aCriteriaSet)) . '" />'; | |
| 77 | - $sFormEnd .= '<input type="hidden" name="action" value="performSearch" />'; | |
| 78 | - | |
| 79 | - return renderHeading(_("Advanced Search")) . $sFormStart . $oPatternBrowse->render() . $sFormEnd . $sRefreshMessage; | |
| 67 | + $this->aBreadcrumbs[] = array('url' => $_SERVER['PHP_SELF'], 'name' => "Boolean search"); | |
| 68 | + $this->oPage->setBreadcrumbDetails('searching'); | |
| 69 | + $collection = new DocumentCollection; | |
| 70 | + $this->browseType = "Folder"; | |
| 71 | + | |
| 72 | + $collection->addColumn(new SelectionColumn("Browse Selection","selection")); | |
| 73 | + $t =& new TitleColumn("Test 1 (title)","title"); | |
| 74 | + $t->setOptions(array('documenturl' => '../documentmanagement/view.php')); | |
| 75 | + $collection->addColumn($t); | |
| 76 | + $collection->addColumn(new DateColumn("Created","created", "getCreatedDateTime")); | |
| 77 | + $collection->addColumn(new DateColumn("Last Modified","modified", "getLastModifiedDate")); | |
| 78 | + $collection->addColumn(new DateColumn("Last Modified","modified", "getLastModifiedDate")); | |
| 79 | + $collection->addColumn(new UserColumn('Creator','creator_id','getCreatorID')); | |
| 80 | + | |
| 81 | + $searchable_text = KTUtil::arrayGet($_REQUEST, "fSearchableText"); | |
| 82 | + | |
| 83 | + $batchPage = (int) KTUtil::arrayGet($_REQUEST, "page", 0); | |
| 84 | + $batchSize = 20; | |
| 85 | + | |
| 86 | + $sSearch = md5(serialize($aCriteriaSet)); | |
| 87 | + $_SESSION['boolean_search'][$sSearch] = $aCriteriaSet; | |
| 88 | + $resultURL = "?action=performSearch&boolean_search_id=" . urlencode($sSearch); | |
| 89 | + $collection->setBatching($resultURL, $batchPage, $batchSize); | |
| 90 | + | |
| 91 | + | |
| 92 | + // ordering. (direction and column) | |
| 93 | + $displayOrder = KTUtil::arrayGet($_REQUEST, 'sort_order', "asc"); | |
| 94 | + if ($displayOrder !== "asc") { $displayOrder = "desc"; } | |
| 95 | + $displayControl = KTUtil::arrayGet($_REQUEST, 'sort_on', "title"); | |
| 96 | + | |
| 97 | + $collection->setSorting($displayControl, $displayOrder); | |
| 98 | + | |
| 99 | + // add in the query object. | |
| 100 | + $qObj = new BooleanSearchQuery($aCriteriaSet); | |
| 101 | + $collection->setQueryObject($qObj); | |
| 102 | + | |
| 103 | + $collection->getResults(); | |
| 104 | + $oTemplating = new KTTemplating; | |
| 105 | + $oTemplate = $oTemplating->loadTemplate("kt3/browse"); | |
| 106 | + $aTemplateData = array( | |
| 107 | + "context" => $this, | |
| 108 | + "collection" => $collection, | |
| 109 | + ); | |
| 110 | + return $oTemplate->render($aTemplateData); | |
| 80 | 111 | } |
| 81 | 112 | } |
| 82 | 113 | ... | ... |