public static function WebformHandlerAccess::checkHandlerAccess in Webform 6.x
Same name and namespace in other branches
- 8.5 src/Access/WebformHandlerAccess.php \Drupal\webform\Access\WebformHandlerAccess::checkHandlerAccess()
Check whether the webform handler is enabled.
Parameters
string $webform_handler: A webform handler id.
Return value
\Drupal\Core\Access\AccessResultInterface The access result.
1 string reference to 'WebformHandlerAccess::checkHandlerAccess'
File
- src/
Access/ WebformHandlerAccess.php, line 21
Class
- WebformHandlerAccess
- Defines the custom access control handler for the webform handlers.
Namespace
Drupal\webform\AccessCode
public static function checkHandlerAccess($webform_handler = NULL) {
/** @var \Drupal\webform\Plugin\WebformHandlerManagerInterface $handler_manager */
$handler_manager = \Drupal::service('plugin.manager.webform.handler');
$handler_definitions = $handler_manager
->getDefinitions();
$handler_definitions = $handler_manager
->removeExcludeDefinitions($handler_definitions);
if ($webform_handler) {
$access_result = AccessResult::allowedIf(!empty($handler_definitions[$webform_handler]));
}
else {
unset($handler_definitions['broken'], $handler_definitions['email']);
$access_result = AccessResult::allowedIf(!empty($handler_definitions));
}
return $access_result
->addCacheTags([
'config:webform.settings',
]);
}