adding option that disables default_charset test in charset_decode function.
authortokul <tokul@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sun, 13 Feb 2005 12:00:59 +0000 (12:00 +0000)
committertokul <tokul@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sun, 13 Feb 2005 12:00:59 +0000 (12:00 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@8846 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/i18n.php

index 676f272060252ab5dfee9cf49b6a0b8a8ddca990..8eb42785497331e9aa15eb93ca98a6c1f0b2bd31 100644 (file)
@@ -104,9 +104,11 @@ function sq_setlocale($category,$locale) {
  *
  * @param string $charset
  * @param string $string Text to be decoded
+ * @param boolean $force_decode converts string to html without $charset!=$default_charset check. 
+ * Argument is available since 1.5.1.
  * @return string decoded string
  */
-function charset_decode ($charset, $string) {
+function charset_decode ($charset, $string, $force_decode=false) {
     global $languages, $squirrelmail_language, $default_charset;
     global $use_php_recode, $use_php_iconv, $aggressive_decoding;
 
@@ -126,7 +128,7 @@ function charset_decode ($charset, $string) {
         $use_php_iconv=false; }
 
     // Don't do conversion if charset is the same.
-    if ( $charset == strtolower($default_charset) )
+    if ( ! $force_decode && $charset == strtolower($default_charset) )
         return htmlspecialchars($string);
 
     // catch iso-8859-8-i thing
@@ -225,7 +227,7 @@ function charset_encode($string,$charset,$htmlencode=true) {
  * @return string converted string
  */
 function charset_convert($in_charset,$string,$out_charset,$htmlencode=true) {
-    $string=charset_decode($in_charset,$string);
+    $string=charset_decode($in_charset,$string,true);
     $string=charset_encode($string,$out_charset,$htmlencode);
     return $string;
 }