diff options
Diffstat (limited to 'program/include/rcube_message.php')
-rw-r--r-- | program/include/rcube_message.php | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php index 75c47dfe0..6f4963b61 100644 --- a/program/include/rcube_message.php +++ b/program/include/rcube_message.php @@ -350,7 +350,7 @@ class rcube_message $mail_part->type = 'content'; $this->parts[] = $mail_part; } - + // list as attachment as well if (!empty($mail_part->filename)) $this->attachments[] = $mail_part; @@ -373,16 +373,18 @@ class rcube_message // skip apple resource forks if ($message_ctype_secondary == 'appledouble' && $secondary_type == 'applefile') continue; - - if ($message_ctype_secondary == 'related' && $mail_part->headers['content-id']) - $mail_part->content_id = preg_replace(array('/^</', '/>$/'), '', $mail_part->headers['content-id']); - if ($message_ctype_secondary == 'related' && $mail_part->headers['content-location']) - $mail_part->content_location = $mail_part->headers['content-base'] . $mail_part->headers['content-location']; - + // part belongs to a related message - if ($mail_part->content_id || $mail_part->content_location) { - $this->inline_parts[] = $mail_part; - } + if ($message_ctype_secondary == 'related') { + if ($mail_part->headers['content-id']) + $mail_part->content_id = preg_replace(array('/^</', '/>$/'), '', $mail_part->headers['content-id']); + if ($mail_part->headers['content-location']) + $mail_part->content_location = $mail_part->headers['content-base'] . $mail_part->headers['content-location']; + + if ($mail_part->content_id || $mail_part->content_location) { + $this->inline_parts[] = $mail_part; + } + } // is regular attachment else { if (!$mail_part->filename) |