public function LDAPAuthorizationProvider::sanitizeProposals in Lightweight Directory Access Protocol (LDAP) 8.4
Same name and namespace in other branches
- 8.3 ldap_authorization/src/Plugin/authorization/Provider/LDAPAuthorizationProvider.php \Drupal\ldap_authorization\Plugin\authorization\Provider\LDAPAuthorizationProvider::sanitizeProposals()
Sanitize proposals.
Parameters
array $proposals: Raw proposals.
Return value
array Processed proposals.
Overrides ProviderInterface::sanitizeProposals
File
- ldap_authorization/
src/ Plugin/ authorization/ Provider/ LDAPAuthorizationProvider.php, line 332
Class
- LDAPAuthorizationProvider
- The LDAP authorization provider for authorization module.
Namespace
Drupal\ldap_authorization\Plugin\authorization\ProviderCode
public function sanitizeProposals(array $proposals) : array {
// Configure this provider.
/** @var \Drupal\authorization\Entity\AuthorizationProfile $profile */
$profile = $this->configuration['profile'];
$config = $profile
->getProviderConfig();
foreach ($proposals as $key => $authorization_id) {
/** @var string $lowercase_key */
$lowercase_key = \mb_strtolower($key);
if ($config['filter_and_mappings']['use_first_attr_as_groupid']) {
$attr_parts = self::splitDnWithAttributes($authorization_id);
unset($attr_parts['count']);
if (count($attr_parts) > 0) {
$first_part = \explode('=', $attr_parts[0]);
if ($first_part && isset($first_part[1])) {
$authorization_id = ConversionHelper::unescapeDnValue(trim($first_part[1]));
}
}
$lowercase_key = \mb_strtolower($authorization_id);
}
$proposals[$lowercase_key] = $authorization_id;
if ($key !== $lowercase_key) {
unset($proposals[$key]);
}
}
return $proposals;
}