summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--program/include/main.inc5
-rw-r--r--program/include/rcube_shared.inc3
2 files changed, 5 insertions, 3 deletions
diff --git a/program/include/main.inc b/program/include/main.inc
index b2e83b767..676883305 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -958,8 +958,9 @@ function rep_specialchars_output($str, $enctype='', $mode='', $newlines=TRUE)
}
else if ($mode=='remove')
$str = strip_tags($str);
-
- $out = strtr($str, $encode_arr);
+
+ // avoid douple quotation of &
+ $out = preg_replace('/&([a-z]{2,5});/', '&\\1;', strtr($str, $encode_arr));
return $newlines ? nl2br($out) : $out;
}
diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc
index 11af48205..7f3771b08 100644
--- a/program/include/rcube_shared.inc
+++ b/program/include/rcube_shared.inc
@@ -215,7 +215,8 @@ class rcube_html_page
if(($fpos = strrpos($output_lc, '</body>')) ||
($fpos = strrpos($output_lc, '</html>')))
{
- $output = substr($output,0,$fpos) . "$__page_footer\n" . substr($output,$fpos,strlen($output));
+ $fpos -= 8;
+ $output = substr($output,0,$fpos) . "$__page_footer\n" . substr($output,$fpos);
}
else
$output .= "\n$__page_footer";