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/tpl.inc.php | 4 ++--
server/lib/classes/tpl.inc.php | 2 +-
interface/lib/classes/ispcmail.inc.php | 6 +++++-
3 files changed, 8 insertions(+), 4 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);
}
diff --git a/interface/lib/classes/tpl.inc.php b/interface/lib/classes/tpl.inc.php
index 5ccd5df..070e349 100644
--- a/interface/lib/classes/tpl.inc.php
+++ b/interface/lib/classes/tpl.inc.php
@@ -851,8 +851,8 @@
$regex.= '[\"\']?';
$regex.= ')?\s*';
$regex.= '(?:>|\/>|}|-->){1}';
- $regex.= '([\r\n|\n|\r])?/ie';
- $data = preg_replace($regex,"\$this->_parseTag(array('\\0','\\1','\\2','\\3','\\4','\\5','\\6','\\7','\\8','\\9'));",$data);
+ $regex.= '([\r\n|\n|\r])?/i';
+ $data = preg_replace_callback($regex, array($this, _parseTag), $data);
if ($this->_cache) { // add cache if need be
$this->_createCache($data);
diff --git a/server/lib/classes/tpl.inc.php b/server/lib/classes/tpl.inc.php
index af2e0da..3b42495 100644
--- a/server/lib/classes/tpl.inc.php
+++ b/server/lib/classes/tpl.inc.php
@@ -930,7 +930,7 @@
$regex.= '(?:>|\/>|}|-->){1}';
$regex.= '/ie';
//$regex.= '([\r\n|\n|\r])?/ie';
- $data = preg_replace($regex,"\$this->_parseTag(array('\\0','\\1','\\2','\\3','\\4','\\5','\\6','\\7','\\8','\\9'));",$data);
+ $data = preg_replace_callback($regex, array($this, '_parseTag'), $data);
if ($this->_cache) { // add cache if need be
$this->_createCache($data);
--
Gitblit v1.9.1