public function ConsentUserResolverPluginManager::getDefinitionForType in General Data Protection Regulation 8.2
Same name and namespace in other branches
- 8 modules/gdpr_consent/src/ConsentUserResolver/ConsentUserResolverPluginManager.php \Drupal\gdpr_consent\ConsentUserResolver\ConsentUserResolverPluginManager::getDefinitionForType()
- 3.0.x modules/gdpr_consent/src/ConsentUserResolver/ConsentUserResolverPluginManager.php \Drupal\gdpr_consent\ConsentUserResolver\ConsentUserResolverPluginManager::getDefinitionForType()
Check for an existing resolver for the specified entity type/bundle.
Parameters
string $entityType: The entity type.
string $bundle: The bundle.
Return value
array|bool The resolver definition, if it exists, or NULL.
Throws
\Exception
1 call to ConsentUserResolverPluginManager::getDefinitionForType()
- ConsentUserResolverPluginManager::getForEntityType in modules/
gdpr_consent/ src/ ConsentUserResolver/ ConsentUserResolverPluginManager.php - Finds a resolver for the specified entity type/bundle.
File
- modules/
gdpr_consent/ src/ ConsentUserResolver/ ConsentUserResolverPluginManager.php, line 70
Class
- ConsentUserResolverPluginManager
- Class ConsentUserResolverPluginManager.
Namespace
Drupal\gdpr_consent\ConsentUserResolverCode
public function getDefinitionForType($entityType, $bundle) {
$definitions = $this
->getDefinitions();
// Get all plugins that act on the entity type.
$definitionsForEntity = array_filter($definitions, static function ($definition) use ($entityType) {
return $definition['entityType'] === $entityType;
});
$definitionsForBundle = array_filter($definitionsForEntity, static function ($definition) use ($bundle) {
return array_key_exists('bundle', $definition) && $definition['bundle'] === $bundle;
});
$definition = NULL;
if (count($definitionsForBundle) > 0) {
// Get first item from the array.
$definition = reset($definitionsForBundle);
}
elseif (count($definitionsForEntity) > 0) {
// None matched for bundle.
// Find any with no bundle.
$definitionsForBundle = array_filter($definitionsForEntity, static function ($definition) {
return !array_key_exists('bundle', $definition) || $definition['bundle'] === '';
});
if (count($definitionsForBundle) > 0) {
// Get first item from array.
$definition = reset($definitionsForBundle);
}
}
if (NULL === $definition) {
return FALSE;
}
return $definition;
}