Request #5836: Decode IDN (RFC 3490) names in addresses.
authorMichael M Slusarz <slusarz@curecanti.org>
Fri, 6 Feb 2009 05:55:29 +0000 (22:55 -0700)
committerMichael M Slusarz <slusarz@curecanti.org>
Fri, 6 Feb 2009 05:56:22 +0000 (22:56 -0700)
imp/docs/CHANGES
imp/docs/INSTALL
imp/lib/Compose.php
imp/message-mimp.php
imp/message.php

index 331c9f2..0bf7a6c 100644 (file)
@@ -2,6 +2,7 @@
 v5.0-git
 --------
 
+[mms] Decode IDN (RFC 3490) names in addresses (Request #5836).
 [mms] Add ability to download attachments in MIMP (Request #2925).
 [mms] Revamp JS event handling model.
 [mms] ESC in DIMP search box now clears the search (Request #7196).
index 9cacb5e..897a5a3 100644 (file)
@@ -186,7 +186,7 @@ To function properly, IMP **requires** the following:
 
    a. idn [OPTIONAL]
 
-      idn is required in order to handle Internationalized Domain Names
+      idn is required to handle display of Internationalized Domain Names
       (see RFC 3490).
 
 5. At least one IMAP or POP3 server.
index 4ca5e3d..4658da5 100644 (file)
@@ -1206,7 +1206,7 @@ class IMP_Compose
             foreach (array('reply-to', 'from', 'to', 'cc') as $val) {
                 $ob = $h->getOb($val);
                 if (!empty($ob)) {
-                    $addr_obs = Horde_Mime_Address::getAddressesFromObject($ob, $all_addrs);
+                    $addr_obs = Horde_Mime_Address::getAddressesFromObject($ob, array('filter' => $all_addrs));
                     if (!empty($addr_obs)) {
                         if (isset($addr_obs[0]['groupname'])) {
                             $cc_addrs = array_merge($cc_addrs, $addr_obs);
@@ -1239,7 +1239,7 @@ class IMP_Compose
             $header[empty($header['to']) ? 'to' : 'cc'] = rtrim(implode('', $hdr_cc), ' ,');
 
             /* Build the Bcc: header. */
-            $header['bcc'] = Horde_Mime_Address::addrArray2String($h->getOb('bcc') + $identity->getBccAddresses(), $all_addrs);
+            $header['bcc'] = Horde_Mime_Address::addrArray2String($h->getOb('bcc') + $identity->getBccAddresses(), array('filter' => $all_addrs));
             if ($actionID == '*') {
                 $all_headers['reply_all'] = $header;
             }
index 5ba7a71..349a87a 100644 (file)
@@ -324,7 +324,7 @@ if (empty($conf['hooks']['disable_compose']) ||
         $items[IMP::composeLink(array(), array('a' => 'rl') + $compose_params)] = _("Reply to List");
     }
 
-    if (Horde_Mime_Address::addrArray2String(array_merge($envelope['to'], $envelope['cc']), array_keys($user_identity->getAllFromAddresses(true)))) {
+    if (Horde_Mime_Address::addrArray2String(array_merge($envelope['to'], $envelope['cc']), array('filter' => array_keys($user_identity->getAllFromAddresses(true))))) {
         $items[IMP::composeLink(array(), array('a' => 'ra') + $compose_params)] = _("Reply All");
     }
 
index 57a7428..eb46bbf 100644 (file)
@@ -500,7 +500,7 @@ if (!IMP::$printMode) {
             $a_template->set('reply_list', Horde::widget(IMP::composeLink(array(), array('actionID' => 'reply_list') + $compose_params), _("To List"), 'widget', '', '', _("To _List"), true));
         }
 
-        if (Horde_Mime_Address::addrArray2String(array_merge($envelope['to'], $envelope['cc']), array_keys($user_identity->getAllFromAddresses(true)))) {
+        if (Horde_Mime_Address::addrArray2String(array_merge($envelope['to'], $envelope['cc']), array('filter' => array_keys($user_identity->getAllFromAddresses(true))))) {
             $a_template->set('show_reply_all', Horde::widget(IMP::composeLink(array(), array('actionID' => 'reply_all') + $compose_params), _("To All"), 'widget', '', '', _("To _All"), true));
         }