From 58e3602a37cccab55f71fbf839b32fbc4322699c Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Sat, 04 Feb 2006 14:08:10 -0500
Subject: [PATCH] Bugfixes for encoding and sending with attachments

---
 program/steps/mail/compose.inc |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index 80a32a9..80f69b5 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -145,8 +145,10 @@
     // get recipent address(es) out of the message headers
     if ($header=='to' && $REPLY_MESSAGE['headers']->replyto)
       $fvalue = $IMAP->decode_header($REPLY_MESSAGE['headers']->replyto);
+
     else if ($header=='to' && $REPLY_MESSAGE['headers']->from)
       $fvalue = $IMAP->decode_header($REPLY_MESSAGE['headers']->from);
+
     // add recipent of original message if reply to all
     else if ($header=='cc' && $REPLY_MESSAGE['reply_all'])
       {
@@ -169,7 +171,7 @@
       $fvalue = '';
       foreach ($to_addresses as $addr_part)
         {
-        if (!in_array($addr_part['mailto'], $sa_recipients))
+        if (!in_array($addr_part['mailto'], $sa_recipients) && (!$REPLY_MESSAGE['FROM'] || !in_array($addr_part['mailto'], $REPLY_MESSAGE['FROM'])))
           {
           $fvalue .= (strlen($fvalue) ? ', ':'').$addr_part['string'];
           $sa_recipients[] = $addr_part['mailto'];
@@ -214,6 +216,8 @@
   $a_recipients = array();
   if ($REPLY_MESSAGE && is_object($REPLY_MESSAGE['headers']))
     {
+    $REPLY_MESSAGE['FROM'] = array();
+
     $a_to = $IMAP->decode_address_list($REPLY_MESSAGE['headers']->to);        
     foreach ($a_to as $addr)
       {
@@ -259,6 +263,9 @@
       // set identity if it's one of the reply-message recipients
       if (in_array($sql_arr['email'], $a_recipients))
         $from_id = $sql_arr['identity_id'];
+        
+      if ($REPLY_MESSAGE && is_array($REPLY_MESSAGE['FROM']))
+        $REPLY_MESSAGE['FROM'][] = $sql_arr['email'];
       }
 
     // overwrite identity selection with post parameter

--
Gitblit v1.9.1