diff -r 5a6b6e770365 -r 68c69c656a2c web/lib/Zend/Ldap/Converter.php --- 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 $type-parameter the conversion of a certain @@ -394,4 +407,4 @@ } return $v; } -} \ No newline at end of file +}