Commit 0983c287d2a7a7ef2f3119877d5549677379ec6d

Authored by rob
1 parent b9ae4854

Added return message for searches that have no results


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@1160 c91229c3-7414-0410-bfa2-8a42b809f60b
lib/visualpatterns/PatternBrowsableSearchResults.inc
@@ -62,111 +62,121 @@ class PatternBrowseableSearchResults { @@ -62,111 +62,121 @@ class PatternBrowseableSearchResults {
62 $sLimitQuery = $this->sQuery . " LIMIT " . $this->iStartIndex . ", " . $this->iResultsToDisplay; 62 $sLimitQuery = $this->sQuery . " LIMIT " . $this->iStartIndex . ", " . $this->iResultsToDisplay;
63 $sql = & $default->db; 63 $sql = & $default->db;
64 $sql->query($sLimitQuery); 64 $sql->query($sLimitQuery);
  65 + $sToRender;
  66 + if ($sql->num_rows() == 0) {
  67 + //no results
  68 + $sToRender = "<table width=\"100%\" height=\"100%\">\n";
  69 + $sToRender .= "<tr>\n";
  70 + $sToRender .= "<td><p class=\"errorText\">No results matched your criteria</p></td>\n";
  71 + $sToRender .= "</tr>\n";
  72 + $sToRender .= "</table>\n";
  73 + } else {
65 74
66 - $sToRender = "<table width=\"100%\" height=\"100%\">\n";  
67 - $sToRender .= "<tr>\n";  
68 - for ($i = 0; $i < count($this->aColumnHeadings); $i++) {  
69 - if (! (strcmp($this->sOrderByColumn, $this->aColumns[$i]) === false) && (strcmp($this->sOrderByColumn, $this->aColumns[$i]) == 0)) {  
70 - if (!(strcmp($this->sOrderDirection,"ASC") === false) && (strcmp($this->sOrderDirection,"ASC") == 0)) {  
71 - //$sToRender .= "<th align=\"left\"><a href=\"" . $_SERVER["PHP_SELF"] . "?fOrderBy=" . $this->aColumns[$i] . "&fOrderDirection=DESC&fStartIndex=" . $this->iStartIndex . "\">" . $this->aColumnHeadings[$i]."</a></th>\n";  
72 - $sToRender .= "<th align=\"left\">" . $this->aColumnHeadings[$i]. "</th>\n"; 75 + $sToRender = "<table width=\"100%\" height=\"100%\">\n";
  76 + $sToRender .= "<tr>\n";
  77 + for ($i = 0; $i < count($this->aColumnHeadings); $i++) {
  78 + if (! (strcmp($this->sOrderByColumn, $this->aColumns[$i]) === false) && (strcmp($this->sOrderByColumn, $this->aColumns[$i]) == 0)) {
  79 + if (!(strcmp($this->sOrderDirection,"ASC") === false) && (strcmp($this->sOrderDirection,"ASC") == 0)) {
  80 + //$sToRender .= "<th align=\"left\"><a href=\"" . $_SERVER["PHP_SELF"] . "?fOrderBy=" . $this->aColumns[$i] . "&fOrderDirection=DESC&fStartIndex=" . $this->iStartIndex . "\">" . $this->aColumnHeadings[$i]."</a></th>\n";
  81 + $sToRender .= "<th align=\"left\">" . $this->aColumnHeadings[$i]. "</th>\n";
  82 + } else {
  83 + //$sToRender .= "<th align=\"left\"><a href=\"" . $_SERVER["PHP_SELF"] . "?fOrderBy=" . $this->aColumns[$i] . "&fOrderDirection=ASC&fStartIndex=" . $this->iStartIndex . "\">" . $this->aColumnHeadings[$i]."</a></th>\n";
  84 + $sToRender .= "<th align=\"left\">" . $this->aColumnHeadings[$i]. "</th>\n";
  85 + }
73 } else { 86 } else {
74 //$sToRender .= "<th align=\"left\"><a href=\"" . $_SERVER["PHP_SELF"] . "?fOrderBy=" . $this->aColumns[$i] . "&fOrderDirection=ASC&fStartIndex=" . $this->iStartIndex . "\">" . $this->aColumnHeadings[$i]."</a></th>\n"; 87 //$sToRender .= "<th align=\"left\"><a href=\"" . $_SERVER["PHP_SELF"] . "?fOrderBy=" . $this->aColumns[$i] . "&fOrderDirection=ASC&fStartIndex=" . $this->iStartIndex . "\">" . $this->aColumnHeadings[$i]."</a></th>\n";
75 $sToRender .= "<th align=\"left\">" . $this->aColumnHeadings[$i]. "</th>\n"; 88 $sToRender .= "<th align=\"left\">" . $this->aColumnHeadings[$i]. "</th>\n";
76 } 89 }
77 - } else {  
78 - //$sToRender .= "<th align=\"left\"><a href=\"" . $_SERVER["PHP_SELF"] . "?fOrderBy=" . $this->aColumns[$i] . "&fOrderDirection=ASC&fStartIndex=" . $this->iStartIndex . "\">" . $this->aColumnHeadings[$i]."</a></th>\n";  
79 - $sToRender .= "<th align=\"left\">" . $this->aColumnHeadings[$i]. "</th>\n";  
80 } 90 }
81 - }  
82 - $sToRender .= "</tr>\n"; 91 + $sToRender .= "</tr>\n";
  92 +
  93 + $iDisplayed = 0;
  94 + //limit the result set displayed
  95 + while($sql->next_record() && ($iDisplayed < $this->iResultsToDisplay)) {
  96 + $sToRender .= "<tr>";
83 97
84 - $iDisplayed = 0;  
85 - //limit the result set displayed  
86 - while($sql->next_record() && ($iDisplayed < $this->iResultsToDisplay)) {  
87 - $sToRender .= "<tr>";  
88 -  
89 - for ($i = 0; $i < count($this->aColumns); $i++) {  
90 - switch ($this->aColumnTypes[$i]) {  
91 - case 1:  
92 - //display text  
93 - $sToRender .= "<td>" . $sql->f($this->aColumns[$i]) . "</td>\n";  
94 - break;  
95 - case 2:  
96 - //diplay a checkbox  
97 - $sToRender .= "<td>" . ($sql->f($this->aColumns[$i]) ? "Yes" : "No") . "</td>\n";  
98 - break;  
99 - case 3:  
100 - //display a url  
101 - $sToRender .= "<td><a href=\"" . $this->aLinkURLs[$i];  
102 - for ($j = 0; $j < count($this->aDBQueryStringColumns); $j++) {  
103 - if (strpos($sToRender, "?") === false) {  
104 - $sToRender .= "?" . $this->aQueryStringVariableNames[$j] . "=" . $sql->f($this->aDBQueryStringColumns[$j]);  
105 - } else {  
106 - $sToRender .= "&" . $this->aQueryStringVariableNames[$j] . "=" . $sql->f($this->aDBQueryStringColumns[$j]);  
107 - }  
108 - }  
109 - $sToRender .= "\">" . $sql->f($this->aColumns[$i]) . "</a></td>\n";  
110 - break;  
111 - case 4:  
112 - //diplay an image URL  
113 - $sToRender .= "<td><a href=\"" . $this->aLinkURLs[$i];  
114 - for ($j = 0; $j < count($this->aDBQueryStringColumns); $j++) {  
115 - if (strpos($sToRender, "?") === false) {  
116 - $sToRender .= "?" . $this->aQueryStringVariableNames[$j] . "=" . $sql->f($this->aDBQueryStringColumns[$j]);  
117 - } else {  
118 - $sToRender .= "&" . $this->aQueryStringVariableNames[$j] . "=" . $sql->f($this->aDBQueryStringColumns[$j]);  
119 - }  
120 - }  
121 - $sToRender .= "\"><img src=\"" . $sql->f($this->aColumns[$i]) . "\" border=\"0\" /></a></td>\n";  
122 - break;  
123 - default: 98 + for ($i = 0; $i < count($this->aColumns); $i++) {
  99 + switch ($this->aColumnTypes[$i]) {
  100 + case 1:
  101 + //display text
  102 + $sToRender .= "<td>" . $sql->f($this->aColumns[$i]) . "</td>\n";
124 break; 103 break;
  104 + case 2:
  105 + //diplay a checkbox
  106 + $sToRender .= "<td>" . ($sql->f($this->aColumns[$i]) ? "Yes" : "No") . "</td>\n";
  107 + break;
  108 + case 3:
  109 + //display a url
  110 + $sToRender .= "<td><a href=\"" . $this->aLinkURLs[$i];
  111 + for ($j = 0; $j < count($this->aDBQueryStringColumns); $j++) {
  112 + if (strpos($sToRender, "?") === false) {
  113 + $sToRender .= "?" . $this->aQueryStringVariableNames[$j] . "=" . $sql->f($this->aDBQueryStringColumns[$j]);
  114 + } else {
  115 + $sToRender .= "&" . $this->aQueryStringVariableNames[$j] . "=" . $sql->f($this->aDBQueryStringColumns[$j]);
  116 + }
  117 + }
  118 + $sToRender .= "\">" . $sql->f($this->aColumns[$i]) . "</a></td>\n";
  119 + break;
  120 + case 4:
  121 + //diplay an image URL
  122 + $sToRender .= "<td><a href=\"" . $this->aLinkURLs[$i];
  123 + for ($j = 0; $j < count($this->aDBQueryStringColumns); $j++) {
  124 + if (strpos($sToRender, "?") === false) {
  125 + $sToRender .= "?" . $this->aQueryStringVariableNames[$j] . "=" . $sql->f($this->aDBQueryStringColumns[$j]);
  126 + } else {
  127 + $sToRender .= "&" . $this->aQueryStringVariableNames[$j] . "=" . $sql->f($this->aDBQueryStringColumns[$j]);
  128 + }
  129 + }
  130 + $sToRender .= "\"><img src=\"" . $sql->f($this->aColumns[$i]) . "\" border=\"0\" /></a></td>\n";
  131 + break;
  132 + default:
  133 + break;
  134 + }
125 } 135 }
  136 + $sToRender .= "</tr>\n";
  137 + $iDisplayed++;
126 } 138 }
127 - $sToRender .= "</tr>\n";  
128 - $iDisplayed++;  
129 - }  
130 -  
131 - //if we displayed less results than the number to display  
132 - //simply pad the table  
133 - while ($iDisplayed < $this->iResultsToDisplay) {  
134 - $sToRender .= "<tr><td>&nbsp</td></tr>\n";  
135 - $iDisplayed++;  
136 - }  
137 -  
138 - $sToRender .= "<tr>\n";  
139 -  
140 - $sToRender .= "<input type=\"hidden\" name=\"fStartIndex\" value=\"" . ($this->iStartIndex + $this->iResultsToDisplay) . "\" />\n";  
141 - /* Display only the next button */  
142 - if (($this->iStartIndex + $this->iResultsToDisplay) < $this->getResultCount($sql) && $this->iStartIndex == 0) {  
143 - $sToRender .= "<td>";  
144 - //$sToRender .= ("<a href=\"" . $_SERVER["PHP_SELF"] . "?fStartIndex=" . ($this->iStartIndex + $this->iResultsToDisplay) . "\">Next</a>");  
145 - $sToRender .= ("<input type=\"image\" src=\"$default->graphicsUrl/widgets/next.gif\" onClick=\"setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fStartIndex=" . ($this->iStartIndex + $this->iResultsToDisplay) . "')\" />");  
146 - $sToRender .= "</td>\n";  
147 - }  
148 - /* Display both the next and the previous buttons */  
149 - else if (($this->iStartIndex + $this->iResultsToDisplay) < $this->getResultCount($sql) && $this->iStartIndex > 0) {  
150 - $sToRender .= "<td>";  
151 - $sToRender .= ("<input type=\"image\" src=\"$default->graphicsUrl/widgets/next.gif\" onClick=\"setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fStartIndex=" . ($this->iStartIndex + $this->iResultsToDisplay) . "')\" />");  
152 - $sToRender .= "</td>";  
153 - $sToRender .= "<td>";  
154 - $sToRender .= ("<input type=\"image\" src=\"$default->graphicsUrl/widgets/previous.gif\" onClick=\"setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fStartIndex=" . ($this->iStartIndex - $this->iResultsToDisplay) . "')\" />");  
155 - $sToRender .= "</td>\n";  
156 139
157 - }  
158 - /* Display only the previous button */  
159 - else if ($this->iStartIndex > 0) {  
160 - $sToRender .= "<td>\n";  
161 - $sToRender .= ("&nbsp");  
162 - $sToRender .= "</td>";  
163 - $sToRender .= "<td>\n";  
164 - $sToRender .= ("<input type=\"image\" src=\"$default->graphicsUrl/widgets/previous.gif\" onClick=\"setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fStartIndex=" . ($this->iStartIndex - $this->iResultsToDisplay) . "')\" />");  
165 - $sToRender .= "</td>"; 140 + //if we displayed less results than the number to display
  141 + //simply pad the table
  142 + while ($iDisplayed < $this->iResultsToDisplay) {
  143 + $sToRender .= "<tr><td>&nbsp</td></tr>\n";
  144 + $iDisplayed++;
  145 + }
  146 +
  147 + $sToRender .= "<tr>\n";
  148 +
  149 + $sToRender .= "<input type=\"hidden\" name=\"fStartIndex\" value=\"" . ($this->iStartIndex + $this->iResultsToDisplay) . "\" />\n";
  150 + /* Display only the next button */
  151 + if (($this->iStartIndex + $this->iResultsToDisplay) < $this->getResultCount($sql) && $this->iStartIndex == 0) {
  152 + $sToRender .= "<td>";
  153 + //$sToRender .= ("<a href=\"" . $_SERVER["PHP_SELF"] . "?fStartIndex=" . ($this->iStartIndex + $this->iResultsToDisplay) . "\">Next</a>");
  154 + $sToRender .= ("<input type=\"image\" src=\"$default->graphicsUrl/widgets/next.gif\" onClick=\"setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fStartIndex=" . ($this->iStartIndex + $this->iResultsToDisplay) . "')\" />");
  155 + $sToRender .= "</td>\n";
  156 + }
  157 + /* Display both the next and the previous buttons */
  158 + else if (($this->iStartIndex + $this->iResultsToDisplay) < $this->getResultCount($sql) && $this->iStartIndex > 0) {
  159 + $sToRender .= "<td>";
  160 + $sToRender .= ("<input type=\"image\" src=\"$default->graphicsUrl/widgets/next.gif\" onClick=\"setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fStartIndex=" . ($this->iStartIndex + $this->iResultsToDisplay) . "')\" />");
  161 + $sToRender .= "</td>";
  162 + $sToRender .= "<td>";
  163 + $sToRender .= ("<input type=\"image\" src=\"$default->graphicsUrl/widgets/previous.gif\" onClick=\"setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fStartIndex=" . ($this->iStartIndex - $this->iResultsToDisplay) . "')\" />");
  164 + $sToRender .= "</td>\n";
  165 +
  166 + }
  167 + /* Display only the previous button */
  168 + else if ($this->iStartIndex > 0) {
  169 + $sToRender .= "<td>\n";
  170 + $sToRender .= ("&nbsp");
  171 + $sToRender .= "</td>";
  172 + $sToRender .= "<td>\n";
  173 + $sToRender .= ("<input type=\"image\" src=\"$default->graphicsUrl/widgets/previous.gif\" onClick=\"setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fStartIndex=" . ($this->iStartIndex - $this->iResultsToDisplay) . "')\" />");
  174 + $sToRender .= "</td>";
  175 + }
  176 +
  177 + $sToRender .= "</tr>\n";
  178 + $sToRender .= "</table>\n";
166 } 179 }
167 -  
168 - $sToRender .= "</tr>\n";  
169 - $sToRender .= "</table>\n";  
170 return $sToRender; 180 return $sToRender;
171 } 181 }
172 182