diff options
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | program/include/rcube_message.php | 13 | ||||
-rw-r--r-- | program/steps/mail/sendmail.inc | 8 |
3 files changed, 18 insertions, 4 deletions
@@ -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 4e1b5a0c2..d15cc7577 100644 --- a/program/include/rcube_message.php +++ b/program/include/rcube_message.php @@ -218,7 +218,18 @@ class rcube_message // 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 751af0694..9fe510794 100644 --- a/program/steps/mail/sendmail.inc +++ b/program/steps/mail/sendmail.inc @@ -73,6 +73,7 @@ function rcmail_encrypt_header($what) 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_get_identity($id) */ function rcmail_fix_emoticon_paths($mime_message) { - global $CONFIG; + global $RCMAIL; $body = $mime_message->getHTMLBody(); @@ -126,8 +127,9 @@ function rcmail_fix_emoticon_paths($mime_message) 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); } |