From 9e8a1756b7032fba21fec82efda57cf896a2735a Mon Sep 17 00:00:00 2001 From: alecpl Date: Mon, 8 Dec 2008 19:42:31 +0000 Subject: [PATCH] #1485616: read content-id/content-location only for multipart/related type --- program/include/rcube_message.php | 22 ++++++++++++---------- 1 file 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)