From 3715694887e6b234cc266ed72035e1716da119de Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Mon, 22 Oct 2012 08:24:32 -0400
Subject: [PATCH] Merge branch 'master' of github.com:roundcube/roundcubemail

---
 CHANGELOG                         |    1 +
 program/include/rcube_message.php |   13 ++++++++++++-
 program/steps/mail/sendmail.inc   |    8 +++++---
 3 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 1c41d26..6705a92 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Fix HTML part detection in messages with attachments (#1488769)
 - Fix bug where wrong words were highlighted on spell-before-send check
 - Fix handling of URLs with asterisk characters (#1488759)
 - Remove automatic to-lowercase conversion of usernames (#1488715)
diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php
index 4e1b5a0..d15cc75 100644
--- a/program/include/rcube_message.php
+++ b/program/include/rcube_message.php
@@ -218,7 +218,18 @@
                     // HTML part can be on the lower level, if not...
                     if (count($level) > 1) {
                         // It can be an alternative or related message part
-                        $parent = $this->mime_parts[0];
+                        // find parent part
+                        $parent = null;
+                        foreach ($this->mime_parts as $part) {
+                            if ($part->mime_id == $level[0]) {
+                                $parent = $part;
+                            }
+                        }
+
+                        if (!$parent) {
+                            continue;
+                        }
+
                         if ($parent->mimetype != 'multipart/alternative' && $parent->mimetype != 'multipart/related') {
                             continue;
                         }
diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc
index 751af06..9fe5107 100644
--- a/program/steps/mail/sendmail.inc
+++ b/program/steps/mail/sendmail.inc
@@ -73,6 +73,7 @@
 function rcmail_get_identity($id)
 {
   global $RCMAIL, $message_charset;
+  global $RCMAIL;
 
   if ($sql_arr = $RCMAIL->user->get_identity($id)) {
     $out = $sql_arr;
@@ -101,7 +102,7 @@
  */
 function rcmail_fix_emoticon_paths($mime_message)
 {
-  global $CONFIG;
+  global $RCMAIL;
 
   $body = $mime_message->getHTMLBody();
 
@@ -126,8 +127,9 @@
 
         if (! in_array($image_name, $included_images)) {
           // add the image to the MIME message
-          if (! $mime_message->addHTMLImage($img_file, 'image/gif', '', true, $image_name))
-            $OUTPUT->show_message("emoticonerror", 'error');
+          if (!$mime_message->addHTMLImage($img_file, 'image/gif', '', true, $image_name)) {
+            $RCMAIL->output->show_message("emoticonerror", 'error');
+          }
           array_push($included_images, $image_name);
         }
 

--
Gitblit v1.9.1