108 $confcat_name =
null;
109 $confcat_order =
null;
111 if (
'xoopsconfigcategory' != strtolower(get_class($confcat))) {
114 if (!$confcat->isDirty()) {
117 if (!$confcat->cleanVars()) {
120 foreach ($confcat->cleanVars as $k => $v) {
123 if ($confcat->isNew()) {
124 $confcat_id = $this->db->genId(
'configcategory_confcat_id_seq');
125 $sql = sprintf(
'INSERT INTO %s (confcat_id, confcat_name, confcat_order) VALUES (%u, %s, %u)', $this->db->prefix(
'configcategory'), $confcat_id, $this->db->quoteString($confcat_name), $confcat_order);
127 $sql = sprintf(
'UPDATE %s SET confcat_name = %s, confcat_order = %u WHERE confcat_id = %u', $this->db->prefix(
'configcategory'), $this->db->quoteString($confcat_name), $confcat_order, $confcat_id);
129 if (!$result = $this->db->query($sql)) {
132 if (empty($confcat_id)) {
133 $confcat_id = $this->db->getInsertId();
135 $confcat->assignVar(
'confcat_id', $confcat_id);
166 public function &
getObjects($criteria =
null, $id_as_key =
false)
170 $sql =
'SELECT * FROM '.$this->db->prefix(
'configcategory');
171 if (isset($criteria) && $criteria instanceof \criteriaelement) {
172 $sql .=
' '.$criteria->renderWhere();
173 $sort = !in_array($criteria->getSort(), [
'confcat_id',
'confcat_name',
'confcat_order']) ?
'confcat_order' : $criteria->getSort();
174 $sql .=
' ORDER BY '.$sort.
' '.$criteria->getOrder();
175 $limit = $criteria->getLimit();
176 $start = $criteria->getStart();
178 $result = $this->db->query($sql, $limit, $start);
182 while ($myrow = $this->db->fetchArray($result)) {
184 $confcat->assignVars($myrow,
false);
188 $ret[$myrow[
'confcat_id']] =& $confcat;