Closes pull request #22 and fixes #18 - preg_replace_callback changes

This commit is contained in:
Deon George 2019-04-19 20:08:53 +10:00
parent 73b7795bc0
commit c494078550
2 changed files with 19 additions and 17 deletions

View File

@ -1117,12 +1117,12 @@ class ldap extends DS {
if (is_array($dn)) { if (is_array($dn)) {
$a = array(); $a = array();
foreach ($dn as $key => $rdn) { foreach ($dn as $key => $rdn) {
$a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function($m) { return "''.chr(hexdec('${m[1]}')).''"; }, $rdn); $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function($m) { return chr(hexdec('${m[1]}')); }, $rdn);
} }
return $a; return $a;
} else { } else {
return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function($m) { return "''.chr(hexdec('${m[1]}')).''"; }, $dn); return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function($m) { return chr(hexdec('${m[1]}')); }, $dn);
} }
} }

View File

@ -2506,7 +2506,9 @@ function draw_chooser_link($form,$element,$include_choose_text=true,$rdn='none')
*/ */
function ldap_explode_dn_patch($dn,$with_attrib) { function ldap_explode_dn_patch($dn,$with_attrib) {
$result = ldap_explode_dn($dn,$with_attrib); $result = ldap_explode_dn($dn,$with_attrib);
if (! $result ) return null; if (! $result)
return null;
# translate hex code into ascii again # translate hex code into ascii again
foreach ($result as $key => $value) { foreach ($result as $key => $value) {
$result[$key] = preg_replace_callback( $result[$key] = preg_replace_callback(
@ -2517,8 +2519,8 @@ function ldap_explode_dn_patch( $dn, $with_attrib ) {
$value $value
); );
} }
return ( $result );
return $result;
} }
/** /**