iId < 0) { $id = DBUtil::autoInsert($this->_table(), $this->_fieldValues()); if (PEAR::isError($id)) { $_SESSION["errorMessage"] = $id->toString(); return false; } $this->iId = $id; return true; } $_SESSION["errorMessage"] = "Can't create an object that already exists id = " . $this->iId . ' table = ' . $this->_table(); return false; } /** * Update the values in the database table with the object's current values * * @return boolean true on successful update, false otherwise and set $_SESSION["errorMessage"] * */ function update() { if ($this->iId > 0) { $res = DBUtil::autoUpdate($this->_table(), $this->_fieldValues(), $this->iId); if (PEAR::isError($res)) { $_SESSION['errorMessage'] = $res->toString(); } return true; } $_SESSION["errorMessage"] = "Can't update an object that isn't in the database"; return false; } /** * Delete the current object from the database * * @return boolean true on successful deletion, false otherwise and set $_SESSION["errorMessage"] * */ function delete() { if ($this->iId >= 0) { $res = DBUtil::autoDelete($this->_table(), $this->iId); if (PEAR::isError($res)) { $_SESSION['errorMessage'] = $res->toString(); return false; } return true; } $_SESSION["errorMessage"] = "Can't delete an object that isn't in the database";; return false; } } class KTEntityUtil { function &getList($sTable, $sClassName, $sWhereClause = null) { $sQuery = "SELECT id FROM " . $sTable;/*ok*/ $aParams = array(); if (!is_null($sWhereClause)) { if (is_string($sWhereClause)) { if (substr($sWhereClause, 0, 5) != 'WHERE') { if (substr($sWhereClause, 0, 5) != 'ORDER') { $sQuery .= ' WHERE'; } } $sQuery .= ' ' . $sWhereClause; } else if (is_array($sWhereClause)) { if (substr($sWhereClause[0], 0, 5) != 'WHERE') { if (substr($sWhereClause[0], 0, 5) != 'ORDER') { $sQuery .= ' WHERE'; } } $sQuery .= ' ' . $sWhereClause[0]; $aParams = $sWhereClause[1]; } else { return new PEAR_Error('Weird WhereClause passed'); } } $aIDs = DBUtil::getResultArrayKey(array($sQuery, $aParams), 'id'); $aRet = array(); foreach ($aIDs as $iID) { $aRet[] =& call_user_func(array($sClassName, 'get'), $iID); } return $aRet; } } ?>