From e677bc13379b7ad58b161411ce35ba4a13bc54d3 Mon Sep 17 00:00:00 2001 From: Florent Bruneau Date: Sat, 6 Mar 2010 19:20:41 +0100 Subject: [PATCH] XDB::escaped use XDB::formatArray format to format array arguments. What does this mean? XDB::format('blah in {?}', $array); is now the same as previous notation: 'blah in ' . XDB::formatArray($array); WARNING: this might breaks some pieces of code where previous serialisation of arrays was used. Signed-off-by: Florent Bruneau --- classes/xdb.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/classes/xdb.php b/classes/xdb.php index 2a2efae..1776791 100644 --- a/classes/xdb.php +++ b/classes/xdb.php @@ -159,7 +159,7 @@ class XDB // Produce the SQL statement representing an array public static function formatArray(array $array) { - return '(' . implode(', ', array_map(array('XDB', 'escape'), $array)) . ')'; + return self::escape($array); } const WILDCARD_EXACT = 0x00; @@ -317,9 +317,12 @@ class XDB case 'object': if ($var instanceof PlFlagSet) { return "'" . addslashes($var->flags()) . "'"; + } else { + return "'".addslashes(serialize($var))."'"; } + case 'array': - return "'".addslashes(serialize($var))."'"; + return '(' . implode(', ', array_map(array('XDB', 'escape'), $var)) . ')'; default: die(var_export($var, true).' is not a valid for a database entry'); -- 2.1.4