function ldap_pear_unescape_dn_value in Lightweight Directory Access Protocol (LDAP) 7.2
Same name and namespace in other branches
- 8.2 ldap_servers/ldap_servers.functions.inc \ldap_pear_unescape_dn_value()
- 7 ldap_servers/ldap_servers.functions.inc \ldap_pear_unescape_dn_value()
Undoes the conversion done by escape_dn_value().
Any escape sequence starting with a baskslash - hexpair or special character - will be transformed back to the corresponding character.
@static
Parameters
array $values: Array of DN Values.
Return value
array Same as $values, but unescaped
4 calls to ldap_pear_unescape_dn_value()
- ldap_servers_get_all_rdn_values_from_dn in ldap_servers/
ldap_servers.module - Given a dn (such as cn=jdoe,ou=people) and an rdn (such as cn) determine that rdn value (such as jdoe)
- ldap_servers_get_first_rdn_value_from_dn in ldap_servers/
ldap_servers.module - Given a dn (such as cn=jdoe,ou=people) and an rdn (such as cn) determine that rdn value (such as jdoe)
- ldap_servers_token_tokenize_entry in ldap_servers/
ldap_servers.tokens.inc - Turn an ldap entry into a token array suitable for the t() function.
- _ldap_authorizations_user_authorizations in ldap_authorization/
ldap_authorization.inc - Return all desired authorizations for a given user.
File
- ldap_servers/
ldap_servers.functions.inc, line 381 - Collection of functions that don't belong in server object.
Code
function ldap_pear_unescape_dn_value($values = []) {
$is_scalar = is_scalar($values);
// Parameter validation.
if (!is_array($values)) {
$values = [
$values,
];
}
foreach ($values as $key => $val) {
// Strip slashes from special chars.
$val = str_replace('\\\\', '\\', $val);
$val = str_replace('\\,', ',', $val);
$val = str_replace('\\+', '+', $val);
$val = str_replace('\\"', '"', $val);
$val = str_replace('\\<', '<', $val);
$val = str_replace('\\>', '>', $val);
$val = str_replace('\\;', ';', $val);
$val = str_replace('\\#', '#', $val);
$val = str_replace('\\=', '=', $val);
// Translate hex code into ascii.
$values[$key] = ldap_pear_hex2asc($val);
}
return $is_scalar ? $values[0] : $values;
}