From f087575c70cef9016411288e19c009e7f165f045 Mon Sep 17 00:00:00 2001 From: mcramer <m.cramer@pixcept.de> Date: Tue, 09 Jul 2013 10:01:45 -0400 Subject: [PATCH] - Fixed: FS#3013 - PHP 5.5 compatibility --- interface/lib/classes/ispcmail.inc.php | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/interface/lib/classes/ispcmail.inc.php b/interface/lib/classes/ispcmail.inc.php index e9534ec..d49af96 100644 --- a/interface/lib/classes/ispcmail.inc.php +++ b/interface/lib/classes/ispcmail.inc.php @@ -496,6 +496,10 @@ $this->_is_signed = true; } + private function _char_to_hex($matches) { + return '=' . strtoupper(dechex(ord($matches[1]))); + } + /** * Function to encode a header if necessary * according to RFC2047 @@ -504,7 +508,7 @@ private function _encodeHeader($input, $charset = 'ISO-8859-1') { preg_match_all('/(\s?\w*[\x80-\xFF]+\w*\s?)/', $input, $matches); foreach ($matches[1] as $value) { - $replacement = preg_replace('/([\x20\x80-\xFF])/e', '"=" . strtoupper(dechex(ord("\1")))', $value); + $replacement = preg_replace_callback('/([\x20\x80-\xFF])/', array($this, '_char_to_hex'), $value); $input = str_replace($value, '=?' . $charset . '?Q?' . $replacement . '?=', $input); } -- Gitblit v1.9.1