diff --git a/htdocs/core/class/CMailFile.class.php b/htdocs/core/class/CMailFile.class.php index 0f80563e293..f1579d5b4e2 100644 --- a/htdocs/core/class/CMailFile.class.php +++ b/htdocs/core/class/CMailFile.class.php @@ -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 } } -?> \ No newline at end of file +?> diff --git a/htdocs/core/lib/xcal.lib.php b/htdocs/core/lib/xcal.lib.php index 298f1728b7c..6559e8043c0 100644 --- a/htdocs/core/lib/xcal.lib.php +++ b/htdocs/core/lib/xcal.lib.php @@ -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); } -?> \ No newline at end of file +?> diff --git a/htdocs/includes/nusoap/lib/Mail/mime.php b/htdocs/includes/nusoap/lib/Mail/mime.php index 55b32be55b1..3d44f050062 100644 --- a/htdocs/includes/nusoap/lib/Mail/mime.php +++ b/htdocs/includes/nusoap/lib/Mail/mime.php @@ -677,10 +677,24 @@ class Mail_mime foreach ($input as $hdr_name => $hdr_value) { preg_match_all('/(\w*[\x80-\xFF]+\w*)/', $hdr_value, $matches); foreach ($matches[1] as $value) { - $replacement = preg_replace('/([\x80-\xFF])/e', - '"=" . - strtoupper(dechex(ord("\1")))', - $value); + /* + * 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) { + $replacement = preg_replace_callback( + '/([\x80-\xFF])/', + function ($m) { + return "=" . strtoupper(dechex(ord($m[1]))); + }, + $value + ); + } else { + $replacement = preg_replace('/([\x80-\xFF])/e', + '"=" . + strtoupper(dechex(ord("\1")))', + $value); + } $hdr_value = str_replace($value, '=?' . $this->_build_params['head_charset'] . '?Q?' . $replacement . '?=',