Remove use of deprecated /e modifier in preg_replace.
authorkink <kink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Thu, 16 May 2013 12:16:58 +0000 (12:16 +0000)
committerkink <kink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Thu, 16 May 2013 12:16:58 +0000 (12:16 +0000)
This modifier starts generating Deprecated notices from PHP 5.5.

git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@14360 7612ce4b-ef26-0410-bec9-ea0150e637f0

17 files changed:
functions/decode/iso_8859_1.php
functions/decode/us_ascii.php
functions/decode/utf_8.php
functions/encode/cp1251.php
functions/encode/cp1255.php
functions/encode/cp1256.php
functions/encode/iso_8859_1.php
functions/encode/iso_8859_15.php
functions/encode/iso_8859_2.php
functions/encode/iso_8859_7.php
functions/encode/iso_8859_9.php
functions/encode/koi8_r.php
functions/encode/koi8_u.php
functions/encode/tis_620.php
functions/encode/us_ascii.php
functions/encode/utf_8.php
functions/mime.php

index c5f8ada092928f71d392a23db4384a2adffa4834..b2317bc729a08be50e061c45d4921d7394b94f50 100644 (file)
@@ -23,11 +23,15 @@ function charset_decode_iso_8859_1 ($string) {
     if (! sq_is8bit($string,'iso-8859-1'))
         return $string;
 
-    $string = preg_replace("/([\201-\237])/e","'&#' . ord('\\1') . ';'",$string);
+    $string = preg_replace_callback("/([\201-\237])/",
+    create_function ('$matches', 'return \'&#\' . ord($matches[1]) . \';\';'),
+    $string);
 
     /* I don't want to use 0xA0 (\240) in any ranges. RH73 may dislike it */
     $string = str_replace("\240", '&#160;', $string);
 
-    $string = preg_replace("/([\241-\377])/e","'&#' . ord('\\1') . ';'",$string);
+    $string = preg_replace_callback("/([\241-\377])/",
+    create_function ('$matches', 'return \'&#\' . ord($matches[1]) . \';\';'),
+    $string);
     return $string;
 }
index 93597ce1f32ef30d5c119397ebabcaf413e9ef60..5776d0e9f0703f3332d3509731e165d45dd8272e 100644 (file)
@@ -26,11 +26,11 @@ function charset_decode_us_ascii ($string) {
     if (! sq_is8bit($string,'us-ascii'))
         return $string;
 
-    $string = preg_replace("/([\201-\237])/e","'?'",$string);
+    $string = preg_replace("/([\201-\237])/","'?'",$string);
 
     /* I don't want to use 0xA0 (\240) in any ranges. RH73 may dislike it */
     $string = str_replace("\240", '?', $string);
 
-    $string = preg_replace("/([\241-\377])/e","'?'",$string);
+    $string = preg_replace("/([\241-\377])/","'?'",$string);
     return $string;
 }
index b6b1b3ee3370df8b5dfadb82249136cea804aa61..53b1a99ff6380ef5d4c68fa8ac3b435f04e9d38b 100644 (file)
@@ -60,31 +60,31 @@ function charset_decode_utf_8 ($string) {
 
     // decode six byte unicode characters
     /* (i think currently there is no such symbol)
-    $string = preg_replace("/([\374-\375])([\200-\277])([\200-\277])([\200-\277])([\200-\277])([\200-\277])/e",
-    "'&#'.((ord('\\1')-252)*1073741824+(ord('\\2')-200)*16777216+(ord('\\3')-200)*262144+(ord('\\4')-128)*4096+(ord('\\5')-128)*64+(ord('\\6')-128)).';'",
+    $string = preg_replace_callback("/([\374-\375])([\200-\277])([\200-\277])([\200-\277])([\200-\277])([\200-\277])/",
+    create_function ('$matches', 'return \'&#\'.((ord($matches[1])-252)*1073741824+(ord($matches[2])-200)*16777216+(ord($matches[3])-200)*262144+(ord($matches[4])-128)*4096+(ord($matches[5])-128)*64+(ord($matches[6])-128)).\';\';'),
     $string);
     */
 
     // decode five byte unicode characters
     /* (i think currently there is no such symbol)
-    $string = preg_replace("/([\370-\373])([\200-\277])([\200-\277])([\200-\277])([\200-\277])/e",
-    "'&#'.((ord('\\1')-248)*16777216+(ord('\\2')-200)*262144+(ord('\\3')-128)*4096+(ord('\\4')-128)*64+(ord('\\5')-128)).';'",
+    $string = preg_replace_callback("/([\370-\373])([\200-\277])([\200-\277])([\200-\277])([\200-\277])/",
+    create_function ('$matches', 'return \'&#\'.((ord($matches[1])-248)*16777216+(ord($matches[2])-200)*262144+(ord($matches[3])-128)*4096+(ord($matches[4])-128)*64+(ord($matches[5])-128)).\';\';'),
     $string);
     */
-
+    
     // decode four byte unicode characters
-    $string = preg_replace("/([\360-\367])([\200-\277])([\200-\277])([\200-\277])/e",
-    "'&#'.((ord('\\1')-240)*262144+(ord('\\2')-128)*4096+(ord('\\3')-128)*64+(ord('\\4')-128)).';'",
+    $string = preg_replace_callback("/([\360-\367])([\200-\277])([\200-\277])([\200-\277])/",
+    create_function ('$matches', 'return \'&#\'.((ord($matches[1])-240)*262144+(ord($matches[2])-128)*4096+(ord($matches[3])-128)*64+(ord($matches[4])-128)).\';\';'),
     $string);
 
     // decode three byte unicode characters
-    $string = preg_replace("/([\340-\357])([\200-\277])([\200-\277])/e",
-    "'&#'.((ord('\\1')-224)*4096+(ord('\\2')-128)*64+(ord('\\3')-128)).';'",
+    $string = preg_replace_callback("/([\340-\357])([\200-\277])([\200-\277])/",
+    create_function ('$matches', 'return \'&#\'.((ord($matches[1])-224)*4096+(ord($matches[2])-128)*64+(ord($matches[3])-128)).\';\';'),
     $string);
 
     // decode two byte unicode characters
-    $string = preg_replace("/([\300-\337])([\200-\277])/e",
-    "'&#'.((ord('\\1')-192)*64+(ord('\\2')-128)).';'",
+    $string = preg_replace_callback("/([\300-\337])([\200-\277])/",
+    create_function ('$matches', 'return \'&#\'.((ord($matches[1])-192)*64+(ord($matches[2])-128)).\';\';'),
     $string);
 
     // remove broken unicode
index 2afead9c162bb660b102654d43308623df0992db..58a0282b64e24fd151caf04b6b828a56a8fa31b2 100644 (file)
@@ -22,7 +22,7 @@ function charset_encode_cp1251 ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetocp1251('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/", 'unicodetocp1251', $string);
 
     return $string;
 }
@@ -35,10 +35,11 @@ function charset_encode_cp1251 ($string) {
  * Don't use it or make sure, that functions/encode/cp1251.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string cp1251 character
  */
-function unicodetocp1251($var) {
+function unicodetocp1251($matches) {
+    $var = $matches[1];
 
     $cp1251chars=array('160' => "\xA0",
                        '164' => "\xA4",
index 3eca98c47583a9b215f7e26d50cb4b7e62274bba..3b8ad0dd89c201600662062e34758a26db3e13fc 100644 (file)
@@ -22,7 +22,7 @@ function charset_encode_cp1255 ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetocp1255('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/",'unicodetocp1255',$string);
 
     return $string;
 }
@@ -35,10 +35,11 @@ function charset_encode_cp1255 ($string) {
  * Don't use it or make sure, that functions/encode/cp1255.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string cp1255 character
  */
-function unicodetocp1255($var) {
+function unicodetocp1255($matches) {
+    $var = $matches[1];
 
     $cp1255chars=array('160' => "\xA0",
                        '161' => "\xA1",
index 8ff1430bb9375647c755f8a80ee62cd85285544f..0f5ff0f4af642537fcd82e7d004fb50256f18fcf 100644 (file)
@@ -22,7 +22,7 @@ function charset_encode_cp1256 ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetocp1256('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/",'unicodetocp1256',$string);
 
     return $string;
 }
@@ -35,10 +35,11 @@ function charset_encode_cp1256 ($string) {
  * Don't use it or make sure, that functions/encode/cp1256.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string cp1256 character
  */
-function unicodetocp1256($var) {
+function unicodetocp1256($matches) {
+    $var = $matches[1];
 
     $cp1256chars=array('160' => "\xA0",
                        '162' => "\xA2",
index 32cc16810109d7570b5278bf9b717de7cc3077a6..579711bf6ef0de0d81cd8f89857ae37a148c718f 100644 (file)
@@ -22,7 +22,7 @@ function charset_encode_iso_8859_1 ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetoiso88591('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/",'unicodetoiso88591',$string);
 
     return $string;
 }
@@ -35,10 +35,11 @@ function charset_encode_iso_8859_1 ($string) {
  * Don't use it or make sure, that functions/encode/iso_8859_1.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string iso-8859-1 character
  */
-function unicodetoiso88591($var) {
+function unicodetoiso88591($matches) {
+    $var = $matches[1];
 
     if ($var < 256) {
         $ret = chr ($var);
index 9180d959a15abd72e259fc5cf30817cfb1419971..ca246e4eb2838b4d763bb1f8d07a1ab9172907cb 100644 (file)
@@ -22,7 +22,7 @@ function charset_encode_iso_8859_15 ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetoiso885915('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/",'unicodetoiso885915',$string);
 
     return $string;
 }
@@ -35,10 +35,11 @@ function charset_encode_iso_8859_15 ($string) {
  * Don't use it or make sure, that functions/encode/iso_8859_15.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string iso-8859-15 character
  */
-function unicodetoiso885915($var) {
+function unicodetoiso885915($matches) {
+    $var = $matches[1];
 
     $iso885915chars=array('160' => "\xA0",
                           '161' => "\xA1",
index 6b036461a3a657d207475361bbfe8a23aa968e42..2a9e66173286d0be26bc58d353f0c1979c64001b 100644 (file)
@@ -22,7 +22,7 @@ function charset_encode_iso_8859_2 ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetoiso88592('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/",'unicodetoiso88592',$string);
 
     return $string;
 }
@@ -35,10 +35,11 @@ function charset_encode_iso_8859_2 ($string) {
  * Don't use it or make sure, that functions/encode/iso_8859_2.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string iso-8859-2 character
  */
-function unicodetoiso88592($var) {
+function unicodetoiso88592($matches) {
+    $var = $matches[1];
 
     $iso88592chars=array('160' => "\xA0",
                         '164' => "\xA4",
index ad8055cd01d3db1ebb71ebe23a837f5eb6f121e8..6d04b300d429aa270756d8441aa2532b918e2373 100644 (file)
@@ -22,7 +22,7 @@ function charset_encode_iso_8859_7 ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetoiso88597('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/",'unicodetoiso88597',$string);
 
     return $string;
 }
@@ -35,10 +35,11 @@ function charset_encode_iso_8859_7 ($string) {
  * Don't use it or make sure, that functions/encode/iso_8859_7.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string iso-8859-7 character
  */
-function unicodetoiso88597($var) {
+function unicodetoiso88597($matches) {
+    $var = $matches[1];
 
     $iso88597chars=array('160' => "\xA0",
                          '163' => "\xA3",
index 9c06a7cf274367c53015f6626ab23ad32dc33e83..662cff24ec1f18b6b121228546ba88084d8af023 100644 (file)
@@ -22,7 +22,7 @@ function charset_encode_iso_8859_9 ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetoiso88599('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/",'unicodetoiso88599',$string);
 
     return $string;
 }
@@ -35,10 +35,11 @@ function charset_encode_iso_8859_9 ($string) {
  * Don't use it or make sure, that functions/encode/iso_8859_9.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string iso-8859-9 character
  */
-function unicodetoiso88599($var) {
+function unicodetoiso88599($matches) {
+    $var = $matches[1];
 
     $iso88599chars=array('160' => "\xA0",
                          '161' => "\xA1",
index bdd209eda11ee074a87771a04874ffc8ff3465cb..7b2201562af0f4803fe939a263a1f2880f55c63e 100644 (file)
@@ -22,7 +22,7 @@ function charset_encode_koi8_r ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetokoi8r('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/",'unicodetokoi8r',$string);
 
     return $string;
 }
@@ -35,10 +35,11 @@ function charset_encode_koi8_r ($string) {
  * Don't use it or make sure, that functions/encode/koi8_r.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string koi8-r character
  */
-function unicodetokoi8r($var) {
+function unicodetokoi8r($matches) {
+    $var = $matches[1];
 
     $koi8rchars=array('160' => "\x9A",
                       '169' => "\xBF",
index 49328c4abc99fd4e0dbb0a5fe0471f53d82d1e39..33100036a302b2706804a8704541b9ec746abd72 100644 (file)
@@ -22,7 +22,7 @@ function charset_encode_koi8_u ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetokoi8u('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/",'unicodetokoi8u',$string);
 
     return $string;
 }
@@ -35,10 +35,11 @@ function charset_encode_koi8_u ($string) {
  * Don't use it or make sure, that functions/encode/koi8_u.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string koi8-u character
  */
-function unicodetokoi8u($var) {
+function unicodetokoi8u($matches) {
+    $var = $matches[1];
 
     $koi8uchars=array('160' => "\x9A",
                       '169' => "\xBF",
index 6b6d647b15ede25567ceca72c41953ef5bd8c9a8..6c3b05a1488e5ffecbc19354f4b24c2160001ead 100644 (file)
@@ -22,7 +22,7 @@ function charset_encode_tis_620 ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetotis620('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/",'unicodetotis620',$string);
 
     return $string;
 }
@@ -35,10 +35,11 @@ function charset_encode_tis_620 ($string) {
  * Don't use it or make sure, that functions/encode/tis_620.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string tis-620 character
  */
-function unicodetotis620($var) {
+function unicodetotis620($matches) {
+    $var = $matches[1];
 
     $tis620chars=array('3585' => "\xA1",
                        '3586' => "\xA2",
index e870b9ff9036292dc061e884ecb83a5ce02d92eb..7c7d721ea5c9a897cddd346ad621e3dbc6cb88af 100644 (file)
@@ -22,7 +22,7 @@ function charset_encode_us_ascii ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetousascii('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/",'unicodetousascii',$string);
 
     return $string;
 }
@@ -35,10 +35,11 @@ function charset_encode_us_ascii ($string) {
  * Don't use it or make sure, that functions/encode/us_ascii.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string us-ascii character
  */
-function unicodetousascii($var) {
+function unicodetousascii($matches) {
+    $var = $matches[1];
 
     if ($var < 128) {
         $ret = chr ($var);
index 16b5f93af80e561da6a283463196bd9e27dacd99..b1dcb14f79459abec99e709e14fdba866f16a109 100644 (file)
@@ -26,7 +26,7 @@ function charset_encode_utf_8 ($string) {
    // don't run encoding function, if there is no encoded characters
    if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
 
-    $string=preg_replace("/&#([0-9]+);/e","unicodetoutf8('\\1')",$string);
+    $string=preg_replace_callback("/&#([0-9]+);/",'unicodetoutf8',$string);
 
     return $string;
 }
@@ -39,10 +39,11 @@ function charset_encode_utf_8 ($string) {
  * Don't use it or make sure, that functions/encode/utf_8.php is
  * included.
  *
- * @param int $var decimal unicode value
+ * @param array $matches array with first element a decimal unicode value
  * @return string utf8 character
  */
-function unicodetoutf8($var) {
+function unicodetoutf8($matches) {
+    $var = $matches[1];
 
     if ($var < 128) {
         $ret = chr ($var);
index 63d6d2dfc1606683d4118944cb14bdafde0ed583..15b456c4e3c0a13b7905991d3fd508202a538b83 100644 (file)
@@ -867,7 +867,8 @@ function decodeHeader ($string, $utfencode=true,$htmlsafe=true,$decide=false) {
                     break;
                 case 'Q':
                     $replace = str_replace('_', ' ', $res[4]);
-                    $replace = preg_replace('/=([0-9a-f]{2})/ie', 'chr(hexdec("\1"))',
+                    $replace = preg_replace_callback('/=([0-9a-f]{2})/i',
+                            create_function ('$matches', 'return chr(hexdec($matches[1]));'),
                             $replace);
                     if ($utfencode) {
                         if ($can_be_encoded) {