From 8006c1a03ec26b711a336de35958a1697a0fbba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Wed, 18 Oct 2006 08:10:38 +0000 Subject: [PATCH] Write own parser so that quoting is optional (RFE #1579163). --- ChangeLog | 2 ++ libraries/transformations.lib.php | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 244b17c70..da5beae98 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,8 @@ $HeadURL$ 2006-10-18 Michal Čihař * libraries/transformations/text_plain__dateformat.inc.php, lang/*: Support displaying in UTC (RFE #1440386). + * libraries/transformations.lib.php: Write own parser so that quoting is + optional (RFE #1579163). 2006-10-17 Marc Delisle * export.php: export nothing if no tables are selected diff --git a/libraries/transformations.lib.php b/libraries/transformations.lib.php index 6b3f3af53..024dc7c48 100644 --- a/libraries/transformations.lib.php +++ b/libraries/transformations.lib.php @@ -9,11 +9,13 @@ function PMA_transformation_getOptions($string) { $transform_options = array(); - if ($string != '') { - if ($string{0} == "'" && $string{strlen($string)-1} == "'") { - $transform_options = explode('\',\'', substr($string, 1, strlen($string)-2)); + /* Parse options */ + for ($nextToken = strtok($string, ','); $nextToken !== false; $nextToken = strtok(',')) { + if ($nextToken{0} == '\'') { + $nextToken = $nextToken{strlen($nextToken) - 1} == '\'' ? substr($nextToken, 1, -1) : substr($nextToken, 1) . ' ' . strtok('\''); + $transform_options[] = $nextToken; } else { - $transform_options = array(0 => $string); + $transform_options[] = $nextToken; } }