From 47f1f7f90ab4a3bb64bed4de6a4b9e3f312d470c Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Fri, 8 Apr 2005 14:24:03 +0000 Subject: - Patch #19609 by Daniel: fix problem with database prefixing --- includes/database.inc | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'includes') diff --git a/includes/database.inc b/includes/database.inc index fc6d9d754..06d150d30 100644 --- a/includes/database.inc +++ b/includes/database.inc @@ -60,17 +60,24 @@ function db_prefix_tables($sql) { global $db_prefix; if (is_array($db_prefix)) { - $prefix = $db_prefix['default']; - foreach ($db_prefix as $key => $val) { - if ($key !== 'default') { + if (array_key_exists('default', $db_prefix)) { + $tmp = $db_prefix; + unset($tmp['default']); + foreach ($tmp as $key => $val) { $sql = strtr($sql, array('{'. $key. '}' => $val. $key)); } + return strtr($sql, array('{' => $db_prefix['default'], '}' => '')); + } + else { + foreach ($db_prefix as $key => $val) { + $sql = strtr($sql, array('{'. $key. '}' => $val. $key)); + } + return strtr($sql, array('{' => '', '}' => '')); } } else { - $prefix = $db_prefix; + return strtr($sql, array('{' => $db_prefix, '}' => '')); } - return strtr($sql, array('{' => $prefix, '}' => '')); } /** -- cgit v1.2.3