From 9c107bd1fc32c2afe05d514e9d8332223ff6507a Mon Sep 17 00:00:00 2001
From: Christopher Smith <chris@jalakai.co.uk>
Date: Sat, 19 Oct 2013 14:40:23 +0100
Subject: [PATCH] use preg_replace_callback instead of '/e' flag when encoding
 quoated printable ('/e' regex flag deprecated in PHP5.5)

---
 inc/mail.php | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/inc/mail.php b/inc/mail.php
index d0ea651bf..0b60c0a5b 100644
--- a/inc/mail.php
+++ b/inc/mail.php
@@ -284,10 +284,9 @@ function mail_quotedprintable_encode($sText,$maxlen=74,$bEmulate_imap_8bit=true)
         // for EBCDIC safeness encode !"#$@[\]^`{|}~,
         // for complete safeness encode every character :)
         if ($bEmulate_imap_8bit)
-            $sRegExp = '/[^\x20\x21-\x3C\x3E-\x7E]/e';
+            $sRegExp = '/[^\x20\x21-\x3C\x3E-\x7E]/';
 
-        $sReplmt = 'sprintf( "=%02X", ord ( "$0" ) ) ;';
-        $sLine = preg_replace( $sRegExp, $sReplmt, $sLine );
+        $sLine = preg_replace_callback( $sRegExp, 'mail_quotedprintable_encode_callback', $sLine );
 
         // encode x09,x20 at lineends
         {
@@ -330,3 +329,6 @@ function mail_quotedprintable_encode($sText,$maxlen=74,$bEmulate_imap_8bit=true)
     return implode(MAILHEADER_EOL,$aLines);
 }
 
+function mail_quotedprintable_encode_callback($matches){
+    return sprintf( "=%02X", ord ( $matches[0] ) ) ;
+}
-- 
GitLab