diff options
author | Aleksander Machniak <alec@alec.pl> | 2013-12-21 14:49:00 +0100 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2013-12-21 14:49:00 +0100 |
commit | 54029ea959b5f59447e3f0a01a453fd5fe0ba8fa (patch) | |
tree | b8c0bb5864210064407ecd94ed77cd4fd617af5e | |
parent | 5224a6b39423c70da844638f09fde423944578a2 (diff) |
Fix broken text/* attachments when forwarding/editing a message (#1489426)
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | program/lib/Roundcube/rcube_imap.php | 2 | ||||
-rw-r--r-- | program/steps/mail/compose.inc | 4 |
3 files changed, 4 insertions, 3 deletions
@@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Fix broken text/* attachments when forwarding/editing a message (#1489426) - Improved minified files handling, added css minification (#1486988) - Fix handling of X-Forwarded-For header with multiple addresses (#1489481) - Fix border issue on folders list in classic skin (#1489473) diff --git a/program/lib/Roundcube/rcube_imap.php b/program/lib/Roundcube/rcube_imap.php index dc5305808..f1363caf7 100644 --- a/program/lib/Roundcube/rcube_imap.php +++ b/program/lib/Roundcube/rcube_imap.php @@ -2121,7 +2121,7 @@ class rcube_imap extends rcube_storage // convert charset (if text or message part) if ($body && preg_match('/^(text|message)$/', $o_part->ctype_primary)) { // Remove NULL characters if any (#1486189) - if (strpos($body, "\x00") !== false) { + if ($formatted && strpos($body, "\x00") !== false) { $body = str_replace("\x00", '', $body); } diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index f75b219ff..aee31bb21 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -1286,12 +1286,12 @@ function rcmail_save_attachment(&$message, $pid) $temp_dir = unslashify($rcmail->config->get('temp_dir')); $path = tempnam($temp_dir, 'rcmAttmnt'); if ($fp = fopen($path, 'w')) { - $message->get_part_content($pid, $fp); + $message->get_part_content($pid, $fp, true, 0, false); fclose($fp); } else return false; } else { - $data = $message->get_part_content($pid); + $data = $message->get_part_content($pid, null, true, 0, false); } $mimetype = $part->ctype_primary . '/' . $part->ctype_secondary; |