alecpl
2011-04-08 8abc17611f56e3bd265c9d6a1782771ea3165344
- Fix bug where default_charset was not used for text messages (#1487836)


2 files modified
14 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/include/rcube_imap.php 13 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix bug where default_charset was not used for text messages (#1487836)
- Enable TinyMCE's contextmenu (#1487014)
- TinyMCE 3.4.1
- Stateless request tokens. No keep-alive necessary on login page (#1487829)
program/include/rcube_imap.php
@@ -2426,9 +2426,11 @@
     * @param  rcube_message_part $o_part Part object created by get_structure()
     * @param  mixed              $print  True to print part, ressource to write part contents in
     * @param  resource           $fp     File pointer to save the message part
     * @param  boolean            $skip_charset_conv Disables charset conversion
     *
     * @return string Message/part body if not printed
     */
    function &get_message_part($uid, $part=1, $o_part=NULL, $print=NULL, $fp=NULL)
    function &get_message_part($uid, $part=1, $o_part=NULL, $print=NULL, $fp=NULL, $skip_charset_conv=false)
    {
        // get part encoding if not provided
        if (!is_object($o_part)) {
@@ -2458,10 +2460,13 @@
            return true;
        }
        // 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)
        // convert charset (if text or message part)
        if ($body && !$skip_charset_conv &&
            preg_match('/^(text|message)$/', $o_part->ctype_primary)
        ) {
            if (!$o_part->charset || strtoupper($o_part->charset) == 'US-ASCII') {
                $o_part->charset = $this->default_charset;
            }
            $body = rcube_charset_convert($body, $o_part->charset);
        }