private function TokenProcessor::fetchSingleToken in Lightweight Directory Access Protocol (LDAP) 8.3
Fetch a single token.
Parameters
\Drupal\user\UserInterface $account: LDAP entry.
string $pre: Preamble.
string $post: Postamble.
string $token: Token key.
Return value
array Tokens.
1 call to TokenProcessor::fetchSingleToken()
- TokenProcessor::tokenizeUserAccount in ldap_servers/
src/ Processor/ TokenProcessor.php - Tokenize a user account.
File
- ldap_servers/
src/ Processor/ TokenProcessor.php, line 238
Class
- TokenProcessor
- Helper to manage LDAP tokens and process their content.
Namespace
Drupal\ldap_servers\ProcessorCode
private function fetchSingleToken(UserInterface $account, $pre, $post, $token) {
// Trailing period to allow for empty value.
list($attribute_type, $attribute_name, $attribute_conversion) = explode('.', $token . '.');
$value = FALSE;
$tokens = [];
switch ($attribute_type) {
case 'field':
case 'property':
$value = $this
->fetchRegularFieldToken($account, $attribute_name);
break;
case 'password':
$value = $this
->fetchPasswordToken($attribute_name);
if (empty($value)) {
// Do not evaluate empty passwords, to avoid overwriting them.
return [
NULL,
NULL,
];
}
break;
}
if ($attribute_conversion == 'to-md5') {
$value = md5($value);
}
elseif ($attribute_conversion == 'to-lowercase') {
$value = mb_strtolower($value);
}
$tokens[$pre . $token . $post] = $value;
// We are redundantly setting the lowercase value here for consistency with
// parent function.
if ($token != mb_strtolower($token)) {
$tokens[$pre . mb_strtolower($token) . $post] = $value;
}
return $tokens;
}