| @@ 176-206 (lines=31) @@ | ||
| 173 | * @param bool $as_object |
|
| 174 | * @return array array of <a href='psi_element://sfAnswer'>sfAnswer</a> objects |
|
| 175 | */ |
|
| 176 | public function &getObjects(\CriteriaElement $criteria = null, $id_as_key = false, $as_object = true) |
|
| 177 | { |
|
| 178 | $ret = []; |
|
| 179 | $limit = $start = 0; |
|
| 180 | $sql = 'SELECT * FROM ' . $this->db->prefix('smartfaq_answers'); |
|
| 181 | if (isset($criteria) && is_subclass_of($criteria, 'CriteriaElement')) { |
|
| 182 | $sql .= ' ' . $criteria->renderWhere(); |
|
| 183 | if ('' != $criteria->getSort()) { |
|
| 184 | $sql .= ' ORDER BY ' . $criteria->getSort() . ' ' . $criteria->getOrder(); |
|
| 185 | } |
|
| 186 | $limit = $criteria->getLimit(); |
|
| 187 | $start = $criteria->getStart(); |
|
| 188 | } |
|
| 189 | //echo "<br>" . $sql . "<br>"; |
|
| 190 | $result = $this->db->query($sql, $limit, $start); |
|
| 191 | if (!$result) { |
|
| 192 | return $ret; |
|
| 193 | } |
|
| 194 | while (false !== ($myrow = $this->db->fetchArray($result))) { |
|
| 195 | $answer = new Smartfaq\Answer(); |
|
| 196 | $answer->assignVars($myrow); |
|
| 197 | if (!$id_as_key) { |
|
| 198 | $ret[] =& $answer; |
|
| 199 | } else { |
|
| 200 | $ret[$myrow['answerid']] = $answer; |
|
| 201 | } |
|
| 202 | unset($answer); |
|
| 203 | } |
|
| 204 | ||
| 205 | return $ret; |
|
| 206 | } |
|
| 207 | ||
| 208 | /** |
|
| 209 | * retrieve 1 official answer (for now SmartFAQ only allow 1 official answer...) |
|
| @@ 185-216 (lines=32) @@ | ||
| 182 | * @param bool $id_as_key use the categoryid as key for the array? |
|
| 183 | * @return array array of {@link XoopsFaq} objects |
|
| 184 | */ |
|
| 185 | public function getObjects($criteria = null, $id_as_key = false) |
|
| 186 | { |
|
| 187 | $ret = []; |
|
| 188 | $limit = $start = 0; |
|
| 189 | $sql = 'SELECT * FROM ' . $this->db->prefix('smartfaq_categories'); |
|
| 190 | if (null !== $criteria && is_subclass_of($criteria, 'CriteriaElement')) { |
|
| 191 | $sql .= ' ' . $criteria->renderWhere(); |
|
| 192 | if ('' != $criteria->getSort()) { |
|
| 193 | $sql .= ' ORDER BY ' . $criteria->getSort() . ' ' . $criteria->getOrder(); |
|
| 194 | } |
|
| 195 | $limit = $criteria->getLimit(); |
|
| 196 | $start = $criteria->getStart(); |
|
| 197 | } |
|
| 198 | //echo "<br>" . $sql . "<br>"; |
|
| 199 | $result = $this->db->query($sql, $limit, $start); |
|
| 200 | if (!$result) { |
|
| 201 | return $ret; |
|
| 202 | } |
|
| 203 | ||
| 204 | while (false !== ($myrow = $this->db->fetchArray($result))) { |
|
| 205 | $category = new Smartfaq\Category(); |
|
| 206 | $category->assignVars($myrow); |
|
| 207 | if (!$id_as_key) { |
|
| 208 | $ret[] = $category; |
|
| 209 | } else { |
|
| 210 | $ret[$myrow['categoryid']] = $category; |
|
| 211 | } |
|
| 212 | unset($category); |
|
| 213 | } |
|
| 214 | ||
| 215 | return $ret; |
|
| 216 | } |
|
| 217 | ||
| 218 | /** |
|
| 219 | * @param int $limit |
|