summaryrefslogtreecommitdiff
path: root/roundcubemail/program
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-11-14 10:09:14 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-11-14 10:09:14 +0000
commite688b77125151dbbd2028f269533189fdad64904 (patch)
tree40dfa88c6890b7bf946990cced8803816c2d7bf5 /roundcubemail/program
parent3f162a28e0421187743f1a6b06e4512667ea732a (diff)
- Re-fix handling of html entity strings in plain/text messages
git-svn-id: https://svn.roundcube.net/trunk@4222 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program')
-rw-r--r--roundcubemail/program/include/main.inc4
-rw-r--r--roundcubemail/program/steps/mail/func.inc8
2 files changed, 7 insertions, 5 deletions
diff --git a/roundcubemail/program/include/main.inc b/roundcubemail/program/include/main.inc
index d2cac3227..301e2f716 100644
--- a/roundcubemail/program/include/main.inc
+++ b/roundcubemail/program/include/main.inc
@@ -560,9 +560,7 @@ function rep_specialchars_output($str, $enctype='', $mode='', $newlines=TRUE)
$out = strtr($str, $encode_arr);
// avoid douple quotation of &
- // commented out, because this breaks displaying of text with entity strings
- // in text messages.
- //$out = preg_replace('/&amp;([A-Za-z]{2,6}|#[0-9]{2,4});/', '&\\1;', $out);
+ $out = preg_replace('/&amp;([A-Za-z]{2,6}|#[0-9]{2,4});/', '&\\1;', $out);
return $newlines ? nl2br($out) : $out;
}
diff --git a/roundcubemail/program/steps/mail/func.inc b/roundcubemail/program/steps/mail/func.inc
index 747dce529..c7498d5b1 100644
--- a/roundcubemail/program/steps/mail/func.inc
+++ b/roundcubemail/program/steps/mail/func.inc
@@ -831,8 +831,12 @@ function rcmail_plain_body($body, $flowed=false)
$quote_level = $q;
}
- // quote plain text
- $body = Q(join("\n", $a_lines), 'dummy', false);
+ $body = join("\n", $a_lines);
+
+ // quote plain text (don't use Q() here, to display entities "as is")
+ $table = get_html_translation_table(HTML_SPECIALCHARS);
+ unset($table['?']);
+ $body = strtr($body, $table);
// colorize signature (up to <sig_max_lines> lines)
$len = strlen($body);