From f8101fff1ec4a52bde553e77a120fd8618c025aa Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Fri, 15 Nov 2013 18:58:32 +0100 Subject: Accept text/html parts inside multipart/mixed parts as HTML contents --- program/lib/Roundcube/rcube_message.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'program/lib/Roundcube/rcube_message.php') diff --git a/program/lib/Roundcube/rcube_message.php b/program/lib/Roundcube/rcube_message.php index 278007610..f24ec3ed8 100644 --- a/program/lib/Roundcube/rcube_message.php +++ b/program/lib/Roundcube/rcube_message.php @@ -211,16 +211,19 @@ class rcube_message } $level = explode('.', $part->mime_id); + $depth = count($level); // Check if the part belongs to higher-level's multipart part - // this can be alternative/related/signed/encrypted, but not mixed + // this can be alternative/related/signed/encrypted or mixed while (array_pop($level) !== null) { - if (!count($level)) { + $parent_depth = count($level); + if (!$parent_depth) { return true; } $parent = $this->mime_parts[join('.', $level)]; - if (!preg_match('/^multipart\/(alternative|related|signed|encrypted)$/', $parent->mimetype)) { + if (!preg_match('/^multipart\/(alternative|related|signed|encrypted|mixed)$/', $parent->mimetype) + || ($parent->mimetype == 'multipart/mixed' && $parent_depth < $depth - 1)) { continue 2; } } -- cgit v1.2.3