From c39562ae036f303f77767f438b89be88a23fe277 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Mon, 21 Jul 2003 15:36:05 +0000 Subject: - Fixed node_save() and user_save() bug introduced by table prefix changes. Modified patches from Gerhard. - Changed the order of the checks in node_teaser(). Patch from Kobus. --- includes/database.mysql.inc | 25 +++++++++++++++++++------ includes/database.pear.inc | 25 +++++++++++++++++++------ 2 files changed, 38 insertions(+), 12 deletions(-) (limited to 'includes') diff --git a/includes/database.mysql.inc b/includes/database.mysql.inc index 38d4af71d..a4fa2d65e 100644 --- a/includes/database.mysql.inc +++ b/includes/database.mysql.inc @@ -23,11 +23,18 @@ function db_connect($url) { function db_query($query) { $args = func_get_args(); + $query = db_prefix_tables($query); if (count($args) > 1) { - $args = array_map("check_query", $args); - $args[0] = $query; - return _db_query(call_user_func_array("sprintf", $args)); + if(is_array($args[1])){ + $args1 = array_map("check_query", $args[1]); + $nargs = array_merge(array($query), $args1); + } + else { + $nargs = array_map("check_query", $args); + $nargs[0] = $query; + } + return _db_query(call_user_func_array("sprintf", $nargs)); } else { return _db_query($query); @@ -39,9 +46,15 @@ function db_queryd($query) { $args = func_get_args(); $query = db_prefix_tables($query); if (count($args) > 1) { - $args = array_map("check_query", $args); - $args[0] = $query; - return _db_query(call_user_func_array("sprintf", $args), 1); + if(is_array($args[1])){ + $args1 = array_map("check_query", $args[1]); + $nargs = array_merge(array($query), $args1); + } + else { + $nargs = array_map("check_query", $args); + $nargs[0] = $query; + } + return _db_query(call_user_func_array("sprintf", $nargs), 1); } else { return _db_query($query, 1); diff --git a/includes/database.pear.inc b/includes/database.pear.inc index ff3b00e4f..36e18c236 100644 --- a/includes/database.pear.inc +++ b/includes/database.pear.inc @@ -25,11 +25,18 @@ function db_connect($url) { function db_query($query) { $args = func_get_args(); + $query = db_prefix_tables($query); if (count($args) > 1) { - $args = array_map("check_query", $args); - $args[0] = $query; - return _db_query(call_user_func_array("sprintf", $args)); + if(is_array($args[1])){ + $args1 = array_map("check_query", $args[1]); + $nargs = array_merge(array($query), $args1); + } + else { + $nargs = array_map("check_query", $args); + $nargs[0] = $query; + } + return _db_query(call_user_func_array("sprintf", $nargs)); } else { return _db_query($query); @@ -41,9 +48,15 @@ function db_queryd($query) { $args = func_get_args(); $query = db_prefix_tables($query); if (count($args) > 1) { - $args = array_map("check_query", $args); - $args[0] = $query; - return _db_query(call_user_func_array("sprintf", $args), 1); + if(is_array($args[1])){ + $args1 = array_map("check_query", $args[1]); + $nargs = array_merge(array($query), $args1); + } + else { + $nargs = array_map("check_query", $args); + $nargs[0] = $query; + } + return _db_query(call_user_func_array("sprintf", $nargs), 1); } else { return _db_query($query, 1); -- cgit v1.2.3