function FilterUninstallValidator::validate
Same name in this branch
- 8.9.x core/modules/filter/src/ProxyClass/FilterUninstallValidator.php \Drupal\filter\ProxyClass\FilterUninstallValidator::validate()
Same name in other branches
- 9 core/modules/filter/src/ProxyClass/FilterUninstallValidator.php \Drupal\filter\ProxyClass\FilterUninstallValidator::validate()
- 9 core/modules/filter/src/FilterUninstallValidator.php \Drupal\filter\FilterUninstallValidator::validate()
- 10 core/modules/filter/src/ProxyClass/FilterUninstallValidator.php \Drupal\filter\ProxyClass\FilterUninstallValidator::validate()
- 10 core/modules/filter/src/FilterUninstallValidator.php \Drupal\filter\FilterUninstallValidator::validate()
- 11.x core/modules/filter/src/ProxyClass/FilterUninstallValidator.php \Drupal\filter\ProxyClass\FilterUninstallValidator::validate()
- 11.x core/modules/filter/src/FilterUninstallValidator.php \Drupal\filter\FilterUninstallValidator::validate()
Overrides ModuleUninstallValidatorInterface::validate
File
-
core/
modules/ filter/ src/ FilterUninstallValidator.php, line 51
Class
- FilterUninstallValidator
- Prevents uninstallation of modules providing used filter plugins.
Namespace
Drupal\filterCode
public function validate($module) {
$reasons = [];
// Get filter plugins supplied by this module.
if ($filter_plugins = $this->getFilterDefinitionsByProvider($module)) {
$used_in = [];
// Find out if any filter formats have the plugin enabled.
foreach ($this->getEnabledFilterFormats() as $filter_format) {
$filters = $filter_format->filters();
foreach ($filter_plugins as $filter_plugin) {
if ($filters->has($filter_plugin['id']) && $filters->get($filter_plugin['id'])->status) {
$used_in[] = $filter_format->label();
break;
}
}
}
if (!empty($used_in)) {
$reasons[] = $this->t('Provides a filter plugin that is in use in the following filter formats: %formats', [
'%formats' => implode(', ', $used_in),
]);
}
}
return $reasons;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.