From ab973bd87168ab11ff5242824738edb89f0bc3e2 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Fri, 27 Feb 2009 03:25:29 +0000 Subject: Replace the string [table_name] with {$prefix}table_name. Slowly working through setting up the database access to support table prefixes. (Ticket#68) Before going ahead, just wanted to check this approach... whatcha think? --- core/libraries/MY_Database.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'core/libraries') diff --git a/core/libraries/MY_Database.php b/core/libraries/MY_Database.php index f5e412a6..7d6c3ece 100644 --- a/core/libraries/MY_Database.php +++ b/core/libraries/MY_Database.php @@ -42,4 +42,20 @@ class Database extends Database_Core { throw new Kohana_Database_Exception('database.missing_open_paren'); } + + /** + * Parse the query string and convert any strings of the form `\([a-zA-Z0-9_]*?)\] + * table prefix . $1 + */ + public function query($sql = '') { + if (!empty($sql)) { + $sql = $this->add_table_prefixes($sql); + } + return parent::query($sql); + } + + public function add_table_prefixes($sql) { + $prefix = $this->config["table_prefix"]; + return preg_replace("#\[([a-zA-Z0-9_]+)\]#", "{$prefix}$1", $sql); + } } \ No newline at end of file -- cgit v1.2.3