summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/database.inc17
1 files changed, 12 insertions, 5 deletions
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, '}' => ''));
}
/**