Commit 7545ed81e204da6bcfd761d4afeb40a3b6835304
1 parent
ed5751d2
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,7 +20,8 @@ class BooleanSearchDispatcher extends KTStandardDispatcher { | ||
| 20 | var $sSection = "browse"; | 20 | var $sSection = "browse"; |
| 21 | 21 | ||
| 22 | function do_main() { | 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 | $oTemplating = new KTTemplating; | 25 | $oTemplating = new KTTemplating; |
| 25 | $oTemplate = $oTemplating->loadTemplate("ktcore/boolean_search"); | 26 | $oTemplate = $oTemplating->loadTemplate("ktcore/boolean_search"); |
| 26 | 27 | ||
| @@ -43,6 +44,10 @@ class BooleanSearchDispatcher extends KTStandardDispatcher { | @@ -43,6 +44,10 @@ class BooleanSearchDispatcher extends KTStandardDispatcher { | ||
| 43 | if (!is_array($datavars)) { | 44 | if (!is_array($datavars)) { |
| 44 | $datavars = unserialize($datavars); | 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 | $iSavedSearchId = KTUtil::arrayGet($_REQUEST, 'fSavedSearchId'); | 51 | $iSavedSearchId = KTUtil::arrayGet($_REQUEST, 'fSavedSearchId'); |
| 47 | if (!empty($iSavedSearchId)) { | 52 | if (!empty($iSavedSearchId)) { |
| 48 | $oSearch = KTSavedSearch::get($iSavedSearchId); | 53 | $oSearch = KTSavedSearch::get($iSavedSearchId); |
| @@ -52,31 +57,57 @@ class BooleanSearchDispatcher extends KTStandardDispatcher { | @@ -52,31 +57,57 @@ class BooleanSearchDispatcher extends KTStandardDispatcher { | ||
| 52 | if (empty($datavars)) { | 57 | if (empty($datavars)) { |
| 53 | $this->errorRedirectToMain('You need to have at least 1 condition.'); | 58 | $this->errorRedirectToMain('You need to have at least 1 condition.'); |
| 54 | } | 59 | } |
| 55 | - | 60 | + |
| 56 | $res = $this->handleCriteriaSet($datavars, KTUtil::arrayGet($_REQUEST, 'fStartIndex', 1)); | 61 | $res = $this->handleCriteriaSet($datavars, KTUtil::arrayGet($_REQUEST, 'fStartIndex', 1)); |
| 57 | 62 | ||
| 58 | return $res; | 63 | return $res; |
| 59 | } | 64 | } |
| 60 | 65 | ||
| 61 | function handleCriteriaSet($aCriteriaSet, $iStartIndex) { | 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 |