function SetID($id) { if ($this->id === null) { $this->id = $id; } else { StrikeError("readonly field"); } }
function CreateCountCmd(&$cmd) { $sql = $cmd->cmdText; while ($sql != "" && substr($sql, 0, 1) == ' ') { $sql = substr($sql, 1); } if (strtoupper(substr($sql, 0, 7)) != 'SELECT ') { StrikeError("CreateCountCmd - this is not SELECT command ({$sql})"); } if (($pos = strpos(strtoupper($sql), ' FROM ')) === false) { if (($pos = strpos(strtoupper($sql), "\tFROM ")) === false) { StrikeError("CreateCountCmd - can't find 'FROM' clause ({$sql})"); } } // $res = 'SELECT COUNT(' . substr($sql, 7, $pos-7) . ') FROM ' . substr($sql, $pos+6); $res = 'SELECT COUNT(*) FROM ' . substr($sql, $pos + 6); $cmdx = new DBCommand($res); $cmdx->params = $cmd->params; $cmdx->limit = $cmd->limit; return $cmdx; }
/** * @static */ function FindAll($classname, $conditions = array(), $order = '') { eval('$tmp = new ' . $classname . '();'); $tmp->_db_Init(); if (count($conditions)) { $wh = ''; foreach ($conditions as $k => $v) { if (!array_key_exists($k, $tmp->_db_fields)) { StrikeError('DBEntity::FindAll : unknown field \'' . $k . '\''); } $wh .= ($wh == '' ? '' : ' AND ') . '@_k_' . $k . '=@' . $k; } $cmd = new DBCommand("SELECT * FROM @_db_table WHERE " . $wh . ($order == '' ? '' : ' ORDER BY ' . $order)); $cmd->Add('@_db_table', DB_TableName, $tmp->_db_table); foreach ($conditions as $k => $v) { $cmd->Add('@_k_' . $k, DB_TableName, $k); $cmd->Add('@' . $k, $tmp->_db_fields[$k]['t'], $v, $tmp->_db_fields[$k]['s']); } } else { $cmd = new DBCommand("SELECT * FROM @_db_table" . ($order == '' ? '' : ' ORDER BY ' . $order)); $cmd->Add('@_db_table', DB_TableName, $tmp->_db_table); } return DBEntity::FindAllByCmd($classname, $cmd); }
function Add($name, $type = 0, $value = null, $size = 255) { if (array_key_exists($name, $this->params)) { StrikeError("Parameter '{$name}' already added"); } $pr = array(); $pr['t'] = $type; $pr['s'] = $size; $pr['v'] = $value; $this->params[$name] = $pr; }
function OnPHPError($code, $message, $filename = '', $linenumber = -1, $context = array()) { if (error_reporting() == 0) { return; } if (intval($code) == 2048) { return; } // E_STRICT StrikeError('Error ' . $code . ' (' . $message . ') occured in ' . $filename . ' at ' . $linenumber . ''); }