diff options
author | alecpl <alec@alec.pl> | 2011-08-30 09:10:27 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-08-30 09:10:27 +0000 |
commit | 8757f5b57d886a0ae6c79b54c4f37e3d7d9b6b4e (patch) | |
tree | 8ac96c8ffe554830ba9931ba862c2e9480d7687e /program | |
parent | 95192c6d0fd362218425c365009521bf7ac1e863 (diff) |
- Fix handling of attachments inside message/rfc822 parts (#1488026)
Diffstat (limited to 'program')
-rw-r--r-- | program/include/rcube_message.php | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php index 4f9a2f230..4e2595550 100644 --- a/program/include/rcube_message.php +++ b/program/include/rcube_message.php @@ -286,7 +286,7 @@ class rcube_message if ($message_ctype_primary == 'text' && !$recursive) { $structure->type = 'content'; $this->parts[] = &$structure; - + // Parse simple (plain text) message body if ($message_ctype_secondary == 'plain') foreach ((array)$this->uu_decode($structure) as $uupart) { @@ -306,7 +306,7 @@ class rcube_message foreach ($structure->parts as $p => $sub_part) { $sub_mimetype = $sub_part->mimetype; - + // check if sub part is if ($sub_mimetype == 'text/plain') $plain_part = $p; @@ -323,7 +323,7 @@ class rcube_message $this->parse_alternative = true; $this->parse_structure($structure->parts[$related_part], true); $this->parse_alternative = false; - + // if plain part was found, we should unset it if html is preferred if ($this->opt['prefer_html'] && count($this->parts)) $plain_part = null; @@ -432,7 +432,7 @@ class rcube_message $this->attachments[] = $mail_part; } // part message/* - else if ($primary_type=='message') { + else if ($primary_type == 'message') { $this->parse_structure($mail_part, true); // list as attachment as well (mostly .eml) @@ -496,6 +496,10 @@ class rcube_message $this->attachments[] = $mail_part; } } + // attachment part as message/rfc822 (#1488026) + else if ($mail_part->mimetype == 'message/rfc822') { + $this->parse_structure($mail_part); + } } // if this was a related part try to resolve references |