Replaced PHP 5.5 deprecated calls

This commit is contained in:
Raphaël Doursenaud 2013-09-11 14:48:02 +02:00
parent 50ce834dd0
commit 9636e1aafc
2 changed files with 32 additions and 4 deletions

View File

@ -962,7 +962,21 @@ class CMailFile
$this->html_images[$i]["name"] = $img;
// Content type
$ext = preg_replace('/^.*\.(\w{3,4})$/e', 'strtolower("$1")', $img);
/*
* preg_replace /e modifier is deprecated in PHP 5.5
* but anonymous functions for use in preg_replace_callback are only available from 5.3.0
*/
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
$ext = preg_replace_callback(
'/^.*\.(\w{3,4})$/',
function ($m) {
return strtolower($m[1]);
},
$img
);
} else {
$ext = preg_replace('/^.*\.(\w{3,4})$/e', 'strtolower("$1")', $img);
}
$this->html_images[$i]["content_type"] = $this->image_types[$ext];
// cid
@ -1076,4 +1090,4 @@ class CMailFile
}
}
?>
?>

View File

@ -515,9 +515,23 @@ function quotedPrintEncode($str,$forcal=0)
function quotedPrintDecode($str)
{
$out = preg_replace('/=\r?\n/', '', $str);
$out = preg_replace('/=([A-F0-9]{2})/e', chr(hexdec('\\1')), $out);
/*
* preg_replace /e modifier is deprecated in PHP 5.5
* but anonymous functions for use in preg_replace_callback are only available from 5.3.0
*/
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
$out = preg_replace_callback(
'/=([A-F0-9]{2})/',
function ($m) {
return chr(hexdec($m[1]));
},
$out
);
} else {
$out = preg_replace('/=([A-F0-9]{2})/e', chr(hexdec('\\1')), $out);
}
return trim($out);
}
?>
?>