function ldap_servers_token_extract_attributes in Lightweight Directory Access Protocol (LDAP) 8.2
Same name and namespace in other branches
- 7.2 ldap_servers/ldap_servers.tokens.inc \ldap_servers_token_extract_attributes()
Parameters
array $attributes array of attributes passed by reference:
string $text with tokens in it:
by reference return add ldap attribute triplet $attribute_maps[<attr_name>] = (<attr_name>, <ordinal>, <data_type>) to $attributes
7 calls to ldap_servers_token_extract_attributes()
- hook_ldap_attributes_needed_alter in ldap_servers/
ldap_servers.api.php - Perform alterations of ldap attributes before query is made.
- LdapUserConf::getLdapUserRequiredAttributes in ldap_user/
LdapUserConf.class.php - Util to fetch attributes required for this user conf, not other modules.
- LdapUserConfAdmin::validate in ldap_user/
LdapUserConfAdmin.class.php - validate object, not form
- LdapUserUnitTests::testProvisionToDrupal in ldap_user/
tests/ ldap_user.test - ldap_servers_ldap_attributes_needed_alter in ldap_servers/
ldap_servers.module - Implements hook_ldap_attributes_needed_alter().
File
- ldap_servers/
ldap_servers.tokens.inc, line 93 - collection of functions related to ldap tokens
Code
function ldap_servers_token_extract_attributes(&$attribute_maps, $text) {
$tokens = ldap_servers_token_tokens_needed_for_template($text);
foreach ($tokens as $token) {
$token = str_replace(array(
LDAP_SERVERS_TOKEN_PRE,
LDAP_SERVERS_TOKEN_POST,
), array(
'',
'',
), $token);
$parts = explode(LDAP_SERVERS_TOKEN_DEL, $token);
$ordinal = isset($parts[1]) && $parts[1] ? $parts[1] : 0;
$attr_name = $parts[0];
$source_data_type = NULL;
$parts2 = explode(LDAP_SERVERS_TOKEN_MODIFIER_DEL, $attr_name);
if (count($parts2) > 1) {
$attr_name = $parts2[0];
$conversion = $parts2[1];
}
else {
$conversion = NULL;
}
$attribute_maps[$attr_name] = ldap_servers_set_attribute_map(@$attribute_maps[$attr_name], $conversion, array(
$ordinal => NULL,
));
}
}