alecpl
2010-12-14 9840ab69e484d7c59f3ea734513d12d522839e62
- Fix charset conversion for text attachments without charset specification (#1487634)


2 files modified
18 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/include/rcube_imap.php 17 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -21,6 +21,7 @@
- Fix handling of untagged responses for AUTHENTICATE command (#1487450)
- Add username and IP address to log message on unsuccessful login (#1487626)
- Improved Mail-Followup-To and Mail-Reply-To headers handling
- Fix charset conversion for text attachments without charset specification (#1487634)
RELEASE 0.5-BETA
----------------
program/include/rcube_imap.php
@@ -2429,20 +2429,21 @@
        // TODO: Add caching for message parts
        if (!$part) $part = 'TEXT';
        if (!$part) {
            $part = 'TEXT';
        }
        $body = $this->conn->handlePartBody($this->mailbox, $uid, true, $part,
            $o_part->encoding, $print, $fp);
        if ($fp || $print)
        if ($fp || $print) {
            return true;
        }
        // convert charset (if text or message part)
        if ($body && ($o_part->ctype_primary == 'text' || $o_part->ctype_primary == 'message')) {
            // assume default if no charset specified
            if (empty($o_part->charset) || strtolower($o_part->charset) == 'us-ascii')
                $o_part->charset = $this->default_charset;
        // convert charset (if text or message part) and part's charset is specified
        if ($body && $o_part->charset
            && preg_match('/^(text|message)$/', $o_part->ctype_primary)
        ) {
            $body = rcube_charset_convert($body, $o_part->charset);
        }