diff options
| author | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-08-27 08:08:27 +0000 |
|---|---|---|
| committer | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-08-27 08:08:27 +0000 |
| commit | af18ca2150d3838bc4f4124fb9455a0e2fc77a48 (patch) | |
| tree | b981663e433e31a71c8b90909068ffdc4802c065 /roundcubemail/program/include/rcube_message.php | |
| parent | b0e43c074d17bcc2bcbff3a64bb2fabc2290affa (diff) | |
Only allow images as 'inline' parts; list other parts as attachments if they have a valid mime type
git-svn-id: https://svn.roundcube.net/trunk@2877 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include/rcube_message.php')
| -rw-r--r-- | roundcubemail/program/include/rcube_message.php | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/roundcubemail/program/include/rcube_message.php b/roundcubemail/program/include/rcube_message.php index 0c469457c..7c2457e55 100644 --- a/roundcubemail/program/include/rcube_message.php +++ b/roundcubemail/program/include/rcube_message.php @@ -392,16 +392,17 @@ class rcube_message // part belongs to a related message and is linked if ($message_ctype_secondary == 'related' - && ($mail_part->headers['content-id'] || $mail_part->headers['content-location'])) { + && preg_match('!^image/!', $mail_part->mimetype) + && ($mail_part->headers['content-id'] || $mail_part->headers['content-location'])) { 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']; - + $this->inline_parts[] = $mail_part; } // is a regular attachment - else { + else if (preg_match('!^[a-z]+/[a-z0-9-.]+$!i', $mail_part->mimetype)) { if (!$mail_part->filename) $mail_part->filename = 'Part '.$mail_part->mime_id; $this->attachments[] = $mail_part; |
