From b579f42b550a5c3f3bf11a0cee13149d67c1bcd8 Mon Sep 17 00:00:00 2001 From: alecpl Date: Fri, 12 Mar 2010 13:54:56 +0000 Subject: - fixes for proper handling of email addresses with form: "user"@domain.tld --- program/include/rcube_imap.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'program/include/rcube_imap.php') diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index cb8299607..91d36c2a3 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -2675,8 +2675,12 @@ class rcube_imap foreach ($a as $val) { $j++; - $address = $val['address']; - $name = preg_replace(array('/^[\'"]/', '/[\'"]$/'), '', trim($val['name'])); + $address = trim($val['address']); + $name = trim($val['name']); + + if (preg_match('/^[\'"]/', $name) && preg_match('/[\'"]$/', $name)) + $name = preg_replace(array('/^[\'"]/', '/[\'"]$/'), '', $name); + if ($name && $address && $name != $address) $string = sprintf('%s <%s>', preg_match("/$special_chars/", $name) ? '"'.addcslashes($name, '"').'"' : $name, $address); else if ($address) @@ -2687,7 +2691,7 @@ class rcube_imap $out[$j] = array('name' => $name, 'mailto' => $address, 'string' => $string); - + if ($max && $j==$max) break; } -- cgit v1.2.3