Pārlūkot izejas kodu

add extra checks in case some yahoo user decides to remove all us-ascii libraries.
(#1239782)

tokul 20 gadi atpakaļ
vecāks
revīzija
9b73312329
2 mainītis faili ar 11 papildinājumiem un 2 dzēšanām
  1. 3 1
      ChangeLog
  2. 8 1
      functions/i18n.php

+ 3 - 1
ChangeLog

@@ -402,7 +402,9 @@ Version 1.5.1 -- CVS
   - Fixes for increased error checking in PHP 5.1 array_shift() (#1237160).
   - Added extra checks in delivery class for In-Reply-To header. Fixes
     E_NOTICE level warnings in php 5.0.4 and later (#1206474). [php5]
-	
+  - Added extra checks in SquirrelMail charset_encode() function in case
+    somebody removed html to us-ascii conversion library (#1239782).
+
 Version 1.5.0 - 2 February 2004
 -------------------------------
   - Added new preference that determines cursor focus when replying

+ 8 - 1
functions/i18n.php

@@ -197,9 +197,16 @@ function charset_encode($string,$charset,$htmlencode=true) {
     if (file_exists($encodefile)) {
         include_once($encodefile);
         $ret = call_user_func('charset_encode_'.$encode, $string);
-    } else {
+    } elseif(file_exists(SM_PATH . 'functions/encode/us_ascii.php')) {
+        // function replaces all 8bit html entities with question marks.
+        // it is used when other encoding functions are unavailable
         include_once(SM_PATH . 'functions/encode/us_ascii.php');
         $ret = charset_encode_us_ascii($string);
+    } else {
+        /**
+         * fix for yahoo users that remove all us-ascii related things
+         */
+        $ret = $string;
     }
 
     /**