All pastes #569102 Raw Edit

Unnamed

public php v1 · immutable
#569102 ·published 2007-06-16 00:26 UTC
rendered paste body
class CuteDB_Query {  private $sql = "";  private $sql_template = "";  private $arguments = array();  private $name = "";  private $abilities = "";  private $res = false;  private function __constructor ($sql, $abilities = array(), $name = '') {    if (strin('$', $sql)) {      $this->sql_template = $sql;    }    $this->abilities = $abilities;    $this->name = $name;    return true;  }  public function __get($key) {    $_return = false;    if (isset($this->$key) && $this->$key) {      $_return = $this->$key;    } elseif ($key == 'res') {      return CuteDB::getInstance()->query($this->sql);    }    return $_return;  }    public function query() {    $args       = func_get_args();    $o_db       = CuteDB::getInstance();    foreach ($args as $k => $v) {      if (!is_array($v) && !is_object($v)) {        // Todo      } elseif (is_object($v)) {        $sql    = preg_replace('/\($[^\)]\)/e', "\$v->\\1", $this->sql_template);      } elseif (is_array($v)) {        // Todo      }    }    $find       = array('($prefix)');    $replace    = array($o_db->prefix);    $this->sql  = str_ireplace($find, $replace, $sql);    $this->res  = $o_db->query($this->sql);    return $this->res;  }    public function fetch_assoc($query_args = null) {    if (!$this->res) {      $this->query($query_args);    }    return CuteDB::getInstance()->fetch_assoc($this->res);  }    public static function factory($m_sql, $abilities = array(), $name = '') {    if (is_array($m_sql)) {      if (isset($m_sql['sql'])) {        $s_sql = $m_sql['sql'];      }      if (isset($m_sql['abilities'])) {        $abilities = $m_sql['abilities'];      }      if (isset($m_sql['name'])) {        $name = $m_sql['name'];      }    } elseif (is_string($m_sql)) {      $s_sql = $m_sql;    }    if (is_string($abilities)) {      $abilities = array($abilities);    }    if (!isset($s_sql) || !is_string($s_sql) || !$s_sql) {      return false;    }    $o_query = new CuteDB_Query($s_sql, $abilities, $name);    return $o_query;  }}