alecpl
2011-08-30 8757f5b57d886a0ae6c79b54c4f37e3d7d9b6b4e
- Fix handling of attachments inside message/rfc822 parts (#1488026)


2 files modified
13 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/include/rcube_message.php 12 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix handling of attachments inside message/rfc822 parts (#1488026)
- Make list of mimetypes that open in preview window configurable (#1487625)
- Added plugin hook 'message_part_get' for attachment downloads
- Localize forwarded message header (#1488058)
program/include/rcube_message.php
@@ -286,7 +286,7 @@
        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 @@
            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 @@
                $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 @@
                        $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 @@
                        $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