summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2012-10-22 14:24:32 +0200
committerThomas Bruederli <thomas@roundcube.net>2012-10-22 14:24:32 +0200
commit3715694887e6b234cc266ed72035e1716da119de (patch)
tree8743e3131e37b5aaade2c7d9ada1c08c9b002fe7
parente6a074715539e0e668665a8867a1a504edfb1bb8 (diff)
parent05a580a11775f0cf157f29cb7f26ae18ed60cb08 (diff)
Merge branch 'master' of github.com:roundcube/roundcubemail
-rw-r--r--CHANGELOG1
-rw-r--r--program/include/rcube_message.php13
-rw-r--r--program/steps/mail/sendmail.inc8
3 files changed, 18 insertions, 4 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 1c41d2692..6705a92ea 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 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);
}