config["table_prefix"]; if (strpos($sql, "SHOW TABLES") === 0) { /* * Don't ignore "show tables", otherwise we could have a infinite * @todo this may have to be changed if we support more than mysql */ return $sql; } else if (strpos($sql, "CREATE TABLE") === 0) { // Creating a new table add it to the table cache. $open_brace = strpos($sql, "{") + 1; $close_brace = strpos($sql, "}", $open_brace); $name = substr($sql, $open_brace, $close_brace - $open_brace); $this->_table_names["{{$name}}"] = "{$prefix}$name"; } if (!isset($this->_table_names)) { // This should only run once on the first query $this->_table_names =array(); $len = strlen($prefix); foreach($this->list_tables() as $table_name) { if ($len > 0) { $naked_name = strpos($table_name, $prefix) !== 0 ? $table_name : substr($table_name, $len); } else { $naked_name = $table_name; } $this->_table_names["{{$naked_name}}"] = $table_name; } } return empty($this->_table_names) ? $sql : strtr($sql, $this->_table_names); } }