Commit 7d4d1025908e0ffd900094fff23f43f133953901

Authored by Michael Joseph
1 parent d8a05670

added checkAll and clearAll javascript for meta data checkboxes

removed getApprovedDocumentString util method
integrated archive searching


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@2080 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/search/advancedSearchBL.php
... ... @@ -37,8 +37,8 @@ if (checkSession()) {
37 37  
38 38 if (!isset($fStartIndex)) {
39 39 $fStartIndex = 0;
40   - }
41   - $oPatternCustom->setHtml(getSearchResults($sMetaTagIDs,$sSQLSearchString, $fStartIndex));
  40 + }
  41 + $oPatternCustom->setHtml(getSearchResults($sMetaTagIDs,$sSQLSearchString, $fStartIndex, $fToSearch));
42 42 $main->setCentralPayload($oPatternCustom);
43 43 $main->render();
44 44 } else {
... ... @@ -46,6 +46,7 @@ if (checkSession()) {
46 46 $oPatternCustom->setHtml(getSearchPage($fSearchString));
47 47 $main->setCentralPayload($oPatternCustom);
48 48 $main->setErrorMessage("Please select at least one criteria to search by");
  49 + $main->setHasRequiredFields(true);
49 50 $main->setFormAction("advancedSearchBL.php?fForSearch=1");
50 51 $main->render();
51 52 }
... ... @@ -56,6 +57,7 @@ if (checkSession()) {
56 57 $oPatternCustom->setHtml(getSearchPage($fSearchString, $aMetaTagIDs));
57 58 $main->setCentralPayload($oPatternCustom);
58 59 $main->setErrorMessage("Please enter text to search on");
  60 + $main->setHasRequiredFields(true);
59 61 $main->setFormAction("advancedSearchBL.php?fForSearch=1");
60 62 $main->render();
61 63 }
... ... @@ -64,6 +66,7 @@ if (checkSession()) {
64 66 //display search criteria
65 67 $oPatternCustom = & new PatternCustom();
66 68 $oPatternCustom->setHtml(getSearchPage($fSearchString));
  69 + $main->setHasRequiredFields(true);
67 70 $main->setCentralPayload($oPatternCustom);
68 71 $main->setFormAction("advancedSearchBL.php?fForSearch=1");
69 72 $main->render();
... ...
presentation/lookAndFeel/knowledgeTree/search/advancedSearchUI.inc
... ... @@ -20,8 +20,10 @@ function getMetaData($aMetaTagIDs) {
20 20 $sToRender .= "<input type=\"hidden\" name=\"adv_search_start\" value=\"\" />\n";
21 21  
22 22 $iRecordCount = 0;
  23 + $sCheckAllJavascript = "";
23 24 while ($sql->next_record()) {
24   - $sMetaDataCheckBox = "<input type=\"checkbox\" " . wasSelected($sql->f("id"), $aMetaTagIDs) . " name=\"f_adv_" . $sql->f("name") . "\" value=\"" . $sql->f("id") . "\"></td><td>" . $sql->f("name");
  25 + $sCheckAllJavascript .= "document.MainForm.f_adv_$iRecordCount.checked=value;\n";
  26 + $sMetaDataCheckBox = "<input type=\"checkbox\" " . wasSelected($sql->f("id"), $aMetaTagIDs) . " name=\"f_adv_$iRecordCount\" value=\"" . $sql->f("id") . "\"></td><td>" . $sql->f("name");
25 27 $iRecordCount++;
26 28 if (($iRecordCount % 3) == 1) {
27 29 $sToRender .= "<tr><td>$sMetaDataCheckBox</td>\n";
... ... @@ -33,6 +35,14 @@ function getMetaData($aMetaTagIDs) {
33 35 }
34 36  
35 37 $sToRender .= "<input type=\"hidden\" name=\"adv_search_end\" value=\"\" />\n";
  38 + $sToRender .= "\n\n<SCRIPT LANGUAGE=\"javascript\">\n ";
  39 + $sToRender .= "<!--\n";
  40 + $sToRender .= "function setChecked(value) {\n";
  41 + $sToRender .= $sCheckAllJavascript;
  42 + $sToRender .= "\t}\n";
  43 + $sToRender .= "-->\n";
  44 + $sToRender .= "</SCRIPT>\n\n";
  45 + $sToRender .= "<tr><td colspan=\"3\"><a href=\"javascript:setChecked(1)\"><img src=\"$default->graphicsUrl/widgets/checkall.gif\" border=\"0\"/></a></td><td colspan=\"3\"><a href=\"javascript:setChecked(0)\"><img src=\"$default->graphicsUrl/widgets/clearall.gif\" border=\"0\"/></a></td></tr>";
36 46 $sToRender .= "</table>\n";
37 47  
38 48 return $sToRender;
... ... @@ -42,10 +52,19 @@ function getSearchPage($sSearchString = &quot;&quot;, $aMetaTagIDs = array(), $sHeading =
42 52 $sToRender = renderHeading($sHeading);
43 53 $sToRender .= "<table width=\"600\">\n";
44 54 $sToRender .= "<tr>\n";
45   - $sToRender .= "<td>Search text: <input type=\"text\" size=\"60\" name=\"fSearchString\" value=\"$sSearchString\" />\n";
46   - $sToRender .= "<input type=\"button\" value=\"search\" onClick=\"validateAdvancedSearch()\"/></td>\n";
47   - $sToRender .= ($bSearchArchive ? "<input type=\"hidden\" name=\"fSearchArchive\" value=\"1\"" : "");
  55 + $sToRender .= "<td>Search text: <input type=\"text\" size=\"50\" name=\"fSearchString\" value=\"$sSearchString\" />\n";
  56 + $sToRender .= "<input type=\"image\" src=\"$default->graphicsUrl/widgets/search.gif\" border=\"0\"/></td>\n";
48 57 $sToRender .= "</tr>\n";
  58 +
  59 + if ($bSearchArchive) {
  60 + $sToRender .= "<input type=\"hidden\" name=\"fToSearch\" value=\"Archived\"/>";
  61 + } else {
  62 + $sToRender .= "<tr>\n";
  63 + $sToRender .= "<td>&nbsp</td>\n";
  64 + $sToRender .= "</tr>\n";
  65 + $sToRender .= "<tr><td>Search: <select name=\"fToSearch\"><option value=\"Live\">Live</option><option value=\"Archived\">Archived</option></select> Documents</td></tr>";
  66 + }
  67 +
49 68 $sToRender .= "<tr>\n";
50 69 $sToRender .= "<td>&nbsp</td>\n";
51 70 $sToRender .= "</tr>\n";
... ... @@ -57,22 +76,25 @@ function getSearchPage($sSearchString = &quot;&quot;, $aMetaTagIDs = array(), $sHeading =
57 76 $sToRender .= "</tr>\n";
58 77 $sToRender .= "</table>\n";
59 78  
60   - return $sToRender . getSearchValidationJavaScript();;
  79 + return $sToRender . getSearchValidationJavaScript();
61 80 }
62 81  
63   -function getSearchResults($sMetaTagIDs, $sSQLSearchString, $iStartIndex) {
64   - global $default;
  82 +function getSearchResults($sMetaTagIDs, $sSQLSearchString, $iStartIndex, $sStatus = "Live") {
  83 + global $default;
  84 +
65 85 $sQuery = "SELECT '" . "$default->graphicsUrl/widgets/dfolder.gif" . "' AS folder_image_url, F.id folder_id, D.id document_id, D.name AS document_name, COUNT(D.id) AS doc_count " .
66 86 "FROM $default->owl_documents_table AS D INNER JOIN $default->owl_folders_table AS F ON D.folder_id = F.id " .
67 87 "INNER JOIN document_fields_link AS DFL ON DFL.document_id = D.id " .
68 88 "INNER JOIN document_fields AS DF ON DF.id = DFL.document_field_id " .
69   - "INNER JOIN search_document_user_link AS SDUL ON SDUL.document_id = D.ID " .
  89 + "INNER JOIN search_document_user_link AS SDUL ON SDUL.document_id = D.ID " .
  90 + "INNER JOIN status_lookup AS SL on D.status_id=SL.id " .
70 91 "WHERE DF.ID IN ($sMetaTagIDs) " .
71   - "AND " . $sSQLSearchString . " " .
  92 + "AND (" . $sSQLSearchString . ") " .
72 93 "AND SDUL.user_id = " . $_SESSION["userID"] . " " .
  94 + "AND SL.name='$sStatus' " .
73 95 "GROUP BY D.id ";
74   - "ORDER BY doc_count DESC ";
75   -
  96 + "ORDER BY doc_count DESC ";
  97 + $default->log->info("getSearchResults $sQuery");
76 98 $aColumns = array("folder_image_url", "document_name", "doc_count");
77 99 $aColumnTypes = array(4,3,1);
78 100 $aColumnHeaders = array("<font color=\"ffffff\">Folder</font>","<font color=\"ffffff\">Document</font>", "<font color=\"ffffff\">Matches</font>");
... ... @@ -90,10 +112,10 @@ function getSearchResults($sMetaTagIDs, $sSQLSearchString, $iStartIndex) {
90 112 function getSearchValidationJavaScript() {
91 113 $sToRender = "\n\n<SCRIPT LANGUAGE=\"javascript\">\n ";
92 114 $sToRender .= "<!--\n";
93   - $sToRender .= "function validateAdvancedSearch() {\n";
  115 + $sToRender .= "function validateForm() {\n";
94 116 $sToRender .= "\tif (!(validRequired(document.MainForm.fSearchString, 'Search text'))) {\n";
95   - $sToRender .= "\t\treturn;\n\t}\n";
96   - $sToRender .= "\tdocument.MainForm.submit();\n}\n";
  117 + $sToRender .= "\t\treturn false;\n\t}\n";
  118 + $sToRender .= "\treturn true;\n}\n";
97 119 $sToRender .= "-->\n";
98 120 $sToRender .= "</SCRIPT>\n\n";
99 121 return $sToRender;
... ...
presentation/lookAndFeel/knowledgeTree/search/advancedSearchUtil.inc
... ... @@ -36,34 +36,6 @@ function getChosenMetaDataTags() {
36 36 return $aTagIDs[0];
37 37 }
38 38  
39   -/**
40   -* Generate a string consisting of all documents that match the search criteria
41   -* and that the user is allowed to see
42   -*/
43   -function getApprovedDocumentString($sMetaTagIDs, $sSQLSearchString, $sStatus = "Live") {
44   - global $default;
45   - $aApprovedDocumentIDs = array();
46   - $sQuery = "SELECT DISTINCT D.id " .
47   - "FROM documents AS D INNER JOIN document_fields_link AS DFL ON DFL.document_id = D.id " .
48   - "INNER JOIN document_fields AS DF ON DF.id = DFL.document_field_id " .
49   - "INNER JOIN search_document_user_link AS SDUL ON SDUL.document_id = D.ID " .
50   - "INNER JOIN status_lookup AS SL on D.status_id=SL.id " .
51   - "WHERE DF.ID IN ($sMetaTagIDs) " .
52   - "AND (" . $sSQLSearchString . ") " .
53   - "AND SL.name='$sStatus' " .
54   - "AND SDUL.user_id = " . $_SESSION["userID"];
55   - $sql = $default->db;
56   - $sql->query($sQuery);
57   - while ($sql->next_record()) {
58   - $aApprovedDocuments[count($aApprovedDocuments)] = $sql->f("id");
59   - }
60   - if (count($aApprovedDocuments) > 1) {
61   - return implode(",",$aApprovedDocuments);
62   - }
63   - return $aApprovedDocuments[0];
64   -
65   -}
66   -
67 39 /*
68 40 * Generate a string that can be used in a SQL query
69 41 * from the list of documents the user is allowed to see
... ...