Commit 0983c287d2a7a7ef2f3119877d5549677379ec6d
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
Showing
1 changed file
with
103 additions
and
93 deletions
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> </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 .= (" "); | ||
| 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> </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 .= (" "); | ||
| 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 |