From 050410f56097bfb29bb8e5d99e792cc3a9165a55 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Fri, 13 Feb 2009 05:44:49 -0500 Subject: [PATCH] - Fix multiple recipients input parsing (#1485733) - added shared rcube_explode_quoted_string() function --- program/include/main.inc | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/program/include/main.inc b/program/include/main.inc index 5cc0fb2..5c05574 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -1233,5 +1233,29 @@ } } +/** + * Explode quoted string + * + * @param string Delimiter expression string for preg_match() + * @param string Input string + */ +function rcube_explode_quoted_string($delimiter, $string) +{ + $result = array(); + $strlen = strlen($string); + + for ($q=$p=$i=0; $i < $strlen; $i++) { + if ($string[$i] == "\"" && $string[$i-1] != "\\") { + $q = $q ? false : true; + } + else if (!$q && preg_match("/$delimiter/", $string[$i])) { + $result[] = substr($string, $p, $i - $p); + $p = $i + 1; + } + } + + $result[] = substr($string, $p); + return $result; +} ?> -- Gitblit v1.9.1