From b579f42b550a5c3f3bf11a0cee13149d67c1bcd8 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 12 Mar 2010 08:54:56 -0500
Subject: [PATCH] - fixes for proper handling of email addresses with form: "user"@domain.tld

---
 program/include/rcube_imap.php |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index cb82996..91d36c2 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -2675,8 +2675,12 @@
     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 @@
       $out[$j] = array('name' => $name,
                        'mailto' => $address,
                        'string' => $string);
-              
+
       if ($max && $j==$max)
         break;
       }

--
Gitblit v1.9.1