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 62 $sLimitQuery = $this->sQuery . " LIMIT " . $this->iStartIndex . ", " . $this->iResultsToDisplay;
63 63 $sql = & $default->db;
64 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 86 } else {
74 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 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 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 180 return $sToRender;
171 181 }
172 182  
... ...