rendered paste bodyclass 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; }}