--- a/web/lib/Zend/Ldap/Converter.php Thu May 07 15:10:09 2015 +0200
+++ b/web/lib/Zend/Ldap/Converter.php Thu May 07 15:16:02 2015 +0200
@@ -14,9 +14,9 @@
*
* @category Zend
* @package Zend_Ldap
- * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
- * @version $Id: Converter.php 24593 2012-01-05 20:35:02Z matthew $
+ * @version $Id$
*/
/**
@@ -24,7 +24,7 @@
*
* @category Zend
* @package Zend_Ldap
- * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Ldap_Converter
@@ -69,11 +69,24 @@
*/
public static function hex32ToAsc($string)
{
- $string = preg_replace("/\\\([0-9A-Fa-f]{2})/e", "''.chr(hexdec('\\1')).''", $string);
+ // Using a callback, since PHP 5.5 has deprecated the /e modifier in preg_replace.
+ $string = preg_replace_callback("/\\\([0-9A-Fa-f]{2})/", array('Zend_Ldap_Converter', '_charHex32ToAsc'), $string);
return $string;
}
/**
+ * Convert a single slash-prefixed character from Hex32 to ASCII.
+ * Used as a callback in @see hex32ToAsc()
+ * @param array $matches
+ *
+ * @return string
+ */
+ private static function _charHex32ToAsc(array $matches)
+ {
+ return chr(hexdec($matches[0]));
+ }
+
+ /**
* Convert any value to an LDAP-compatible value.
*
* By setting the <var>$type</var>-parameter the conversion of a certain
@@ -394,4 +407,4 @@
}
return $v;
}
-}
\ No newline at end of file
+}