private function TokenProcessor::processLdapTokenKey in Lightweight Directory Access Protocol (LDAP) 8.4
Process a single LDAP Token key.
Parameters
\Symfony\Component\Ldap\Entry $entry: Entry.
string $required_token: What was given as replacement pattern. For example 'dn', 'mail:0', 'mail:last', or 'guid:0;tobase64'.
1 call to TokenProcessor::processLdapTokenKey()
- TokenProcessor::tokenizeLdapEntry in ldap_servers/
src/ Processor/ TokenProcessor.php - Turn an LDAP entry into a token array suitable for the t() function.
File
- ldap_servers/
src/ Processor/ TokenProcessor.php, line 202
Class
- TokenProcessor
- Helper to manage LDAP tokens and process their content.
Namespace
Drupal\ldap_servers\ProcessorCode
private function processLdapTokenKey(Entry $entry, string $required_token) : void {
// Trailing period to allow for empty value.
[
$token_key,
$conversion,
] = explode(';', $required_token . ';');
$parts = explode(':', $token_key);
if ($parts === FALSE) {
return;
}
$requested_name = $parts[0];
$requested_index = $parts[1] ?? 0;
if (mb_strtolower($requested_name) === 'dn') {
return;
}
$values = $entry
->getAttribute($requested_name, FALSE);
if ($values === NULL || count($values) === 0) {
// No data.
return;
}
if ($requested_index === 'last') {
$i = count($values) > 0 ? count($values) - 1 : 0;
$value = $values[(int) $i];
}
else {
$value = $values[$requested_index] ?? '';
}
$value = (string) $value;
$value = ConversionHelper::convertAttribute($value, $conversion);
$this->tokens[sprintf('[%s]', $required_token)] = $value;
}