advancedSearchUI.inc
4.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
/**
* Presentation logic used by advancedSearchBL.php
*
* @author Rob Cherry, Jam Warehouse South Africa (Pty) Ltd
* @date 26 February 2003
* @package presentation.lookAndFeel.knowledgeTree.search
*
*/
function getMetaData($aMetaTagIDs) {
global $default;
$sQuery = "SELECT name, id FROM $default->owl_fields_table ORDER BY name ASC";
$sql = $default->db;
$sql->query($sQuery);
$sToRender = "<table border=\"0\">\n";
$sToRender .= "<input type=\"hidden\" name=\"adv_search_start\" value=\"\" />\n";
while ($sql->next_record()) {
$sToRender .= "<tr><td><input type=\"checkbox\" " . wasSelected($sql->f("id"), $aMetaTagIDs) . " name=\"f_adv_" . $sql->f("name") . "\" value=\"" . $sql->f("id") . "\"></td><td>" . $sql->f("name") . "</td></tr>\n";
}
$sToRender .= "<input type=\"hidden\" name=\"adv_search_end\" value=\"\" />\n";
$sToRender .= "</table>\n";
return $sToRender;
}
function getSearchPage($sSearchString = "", $aMetaTagIDs = array()) {
global $default;
$sToRender = "<table>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Search text: <input type=\"text\" size=\"60\" name=\"fSearchString\" value=\"$sSearchString\" /></td>\n";
//$sToRender .= "<td><input type=\"button\" src=\"$default->graphicsUrl/search.gif\" value=\"search\" onClick=\"validateAdvancedSearchText()\"/></td>\n";
$sToRender .= "<td><input type=\"button\" value=\"search\" onClick=\"validateAdvancedSearch()\"/></td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>" . getMetaData($aMetaTagIDs) . "</td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "</table>\n";
return $sToRender . getSearchValidationJavaScript();;
}
function getSearchResults($sSQLSearchString, $iStartIndex, $sSearchText, $sMetaTagIDs) {
global $default;
$sQuery = "SELECT DISTINCT '" . "$default->graphicsUrl/widgets/dfolder.gif" . "' AS folder_image_url, F.id folder_id, D.id document_id, D.name AS document_name " .
"FROM $default->owl_documents_table AS D INNER JOIN $default->owl_folders_table AS F ON D.folder_id = F.id " .
"WHERE D.id IN ($sSQLSearchString)" .
"ORDER BY D.name ASC";
$aColumns = array("folder_image_url", "document_name");
$aColumnTypes = array(4,3);
$aColumnHeaders = array("","Document");
$aLinkURLs = array("$default->rootUrl/control.php?action=browse","$default->rootUrl/control.php?action=viewDocument");
$aDBQueryStringColumns = array("document_id","folder_id");
$aQueryStringVariableNames = array("fDocumentID", "fFolderID");
$oPatternBrowse = & new PatternBrowseableSearchResults($sQuery, 10, $aColumns, $aColumnTypes, $aColumnHeaders, $aLinkURLs, $aDBQueryStringColumns, $aQueryStringVariableNames);
$oPatternBrowse->setStartIndex($iStartIndex);
return $oPatternBrowse->render() . getSearchVariablesHtml($sSearchText, $sMetaTagIDs);
}
function getSearchValidationJavaScript() {
$sToRender = "\n\n<SCRIPT LANGUAGE=\"javascript\">\n ";
$sToRender .= "<!--\n";
$sToRender .= "function validateAdvancedSearch() {\n";
$sToRender .= "\tif (!(validRequired(document.MainForm.fSearchString, 'Search text'))) {\n";
$sToRender .= "\t\treturn;\n\t}\n";
$sToRender .= "\tdocument.MainForm.submit();\n}\n";
$sToRender .= "-->\n";
$sToRender .= "</SCRIPT>\n\n";
return $sToRender;
}
function wasSelected($iID, $aMetaTagIDs) {
if (in_array($iID, $aMetaTagIDs)) {
return "CHECKED";
}
return "";
}
function getSearchVariablesHtml($sSearchText, $sMetaTagIDs) {
$aMetaTagIDs = explode(",", $sMetaTagIDs);
$sToRender = "\n\n<input type=\"hidden\" name=\"fSearchString\" value=\"$sSearchText\" />\n";
$sToRender .= "<input type=\"hidden\" name=\"adv_search_start\" value=\"\" />\n";
for ($i = 0; $i < count($aMetaTagIDs); $i++) {
$sToRender .= "<input type=\"hidden\" name=\"fMetaTag_$i\" value=\"" . $aMetaTagIDs[$i] . "\" />\n";
}
$sToRender .= "<input type=\"hidden\" name=\"adv_search_end\" value=\"\" />\n";
return $sToRender;
}
?>