/** * Load messages from the database * @param object $criteria {@link CriteriaElement} object * @param bool $id_as_key use ID as key into the array? * @return array Array of {@link XoopsPrivmessage} objects **/ function &getObjects($criteria = null, $id_as_key = false) { $ret = array(); $limit = $start = 0; $sql = 'SELECT * FROM ' . $this->db->prefix('priv_msgs'); if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) { $sql .= ' ' . $criteria->renderWhere(); $sort = !in_array($criteria->getSort(), array('msg_id', 'msg_time', 'from_userid')) ? 'msg_id' : $criteria->getSort(); $sql .= ' ORDER BY ' . $sort . ' ' . $criteria->getOrder(); $limit = $criteria->getLimit(); $start = $criteria->getStart(); } $result = $this->db->query($sql, $limit, $start); if (!$result) { return $ret; } while ($myrow = $this->db->fetchArray($result)) { $pm = new XoopsPrivmessage(); $pm->assignVars($myrow); if (!$id_as_key) { $ret[] =& $pm; } else { $ret[$myrow['msg_id']] =& $pm; } unset($pm); } return $ret; }
/** * Load a {@link XoopsPrivmessage} object * @param int $id ID of the message * @return object **/ function &get($id) { $id = intval($id); if ($id > 0) { $sql = 'SELECT * FROM ' . $this->db->prefix('priv_msgs') . ' WHERE msg_id=' . $id; if (!($result = $this->db->query($sql))) { return false; } $numrows = $this->db->getRowsNum($result); if ($numrows == 1) { $pm = new XoopsPrivmessage(); $pm->assignVars($this->db->fetchArray($result)); return $pm; } } return false; }