summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2006-11-09 19:06:37 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2006-11-09 19:06:37 +0000
commit2cdc34f0d45bdb8f5f34e45f929d1adf328e5cb2 (patch)
tree8c69bce33012684072850bf60cd804903db86f5a
parent413092aa8a26a5633b1da491d8577c2b8951515b (diff)
Corrected template parsing and output encoding
git-svn-id: https://svn.roundcube.net/trunk@364 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/program/include/main.inc5
-rw-r--r--roundcubemail/program/include/rcube_shared.inc3
2 files changed, 5 insertions, 3 deletions
diff --git a/roundcubemail/program/include/main.inc b/roundcubemail/program/include/main.inc
index b2e83b767..676883305 100644
--- a/roundcubemail/program/include/main.inc
+++ b/roundcubemail/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('/&amp;([a-z]{2,5});/', '&\\1;', strtr($str, $encode_arr));
return $newlines ? nl2br($out) : $out;
}
diff --git a/roundcubemail/program/include/rcube_shared.inc b/roundcubemail/program/include/rcube_shared.inc
index 11af48205..7f3771b08 100644
--- a/roundcubemail/program/include/rcube_shared.inc
+++ b/roundcubemail/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";