コード例 #1
0
 function SetID($id)
 {
     if ($this->id === null) {
         $this->id = $id;
     } else {
         StrikeError("readonly field");
     }
 }
コード例 #2
0
 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;
 }
コード例 #3
0
 /**
  * @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);
 }
コード例 #4
0
 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;
 }
コード例 #5
0
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 . '');
}