From 9aee4d82fc851dd8fc02aa1777b0bba0c008203d Mon Sep 17 00:00:00 2001 From: Cerdic Date: Wed, 4 Dec 2019 15:53:45 +0100 Subject: [PATCH] la fonction spip_mysql_quote() avec un array en entree retournait une string si pas de type fournit, et un array sinon. On corrige (string attendue) et on simplifie le code pour plus de lisibilite sans plus appeler _q qui est depreciee --- ecrire/req/mysql.php | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/ecrire/req/mysql.php b/ecrire/req/mysql.php index a986fb7fa9..df0a2105ce 100644 --- a/ecrire/req/mysql.php +++ b/ecrire/req/mysql.php @@ -1520,22 +1520,15 @@ function spip_mysql_hex($v) { * Donnée prête à être utilisée par le gestionnaire SQL */ function spip_mysql_quote($v, $type = '') { - if ($type) { - if (!is_array($v)) { - return spip_mysql_cite($v, $type); - } - // si c'est un tableau, le parcourir en propageant le type - foreach ($v as $k => $r) { - $v[$k] = spip_mysql_quote($r, $type); - } - - return $v; + if (!is_array($v)) { + return spip_mysql_cite($v, $type); } - // si on ne connait pas le type, s'en remettre a _q : - // on ne fera pas mieux - else { - return _q($v); + + // si c'est un tableau, le parcourir en propageant le type + foreach ($v as $k => $r) { + $v[$k] = spip_mysql_quote($r, $type); } + return implode(',', $v); } /** @@ -1637,6 +1630,13 @@ function calcul_mysql_in($val, $valeurs, $not = '') { * @return string|number Texte ou nombre échappé */ function spip_mysql_cite($v, $type) { + if (!$type) { + if (is_numeric($v)) { + return strval($v); + } + return "'" . addslashes($v) . "'"; + } + if (is_null($v) and stripos($type, "NOT NULL") === false ) {