summaryrefslogtreecommitdiff
path: root/net/phpldapadmin/files/patch-lib__ds_ldap.php
blob: c7debfa14eab22dc744e6512b4a435fedd33bc55 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--- lib/ds_ldap.php.orig	2012-10-01 06:54:14 UTC
+++ lib/ds_ldap.php
@@ -1116,13 +1116,24 @@ class ldap extends DS {
 
 		if (is_array($dn)) {
 			$a = array();
-			foreach ($dn as $key => $rdn)
-				$a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn);
+			foreach ($dn as $key => $rdn) {
+				$a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',
+					function ($m) {
+						return ''.chr(hexdec('\\1')).'';
+					},
+					$rdn
+					);
+			}
 
 			return $a;
 
 		} else
-			return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn);
+			 return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',
+				function ($m) {
+					return ''.chr(hexdec('\\1')).'';
+				},
+				$dn
+			);
 	}
 
 	public function getRootDSE($method=null) {