public function MaestroNonInteractiveExampleTaskUninstallValidator::validate in Maestro 8.2
Same name in this branch
- 8.2 modules/examples/maestro_noninteractive_task_plugin_example/src/MaestroNonInteractiveExampleTaskUninstallValidator.php \Drupal\maestro_noninteractive_task_plugin_example\MaestroNonInteractiveExampleTaskUninstallValidator::validate()
- 8.2 modules/examples/maestro_noninteractive_task_plugin_example/src/ProxyClass/MaestroNonInteractiveExampleTaskUninstallValidator.php \Drupal\maestro_noninteractive_task_plugin_example\ProxyClass\MaestroNonInteractiveExampleTaskUninstallValidator::validate()
Same name and namespace in other branches
- 3.x modules/examples/maestro_noninteractive_task_plugin_example/src/MaestroNonInteractiveExampleTaskUninstallValidator.php \Drupal\maestro_noninteractive_task_plugin_example\MaestroNonInteractiveExampleTaskUninstallValidator::validate()
Determines the reasons a module can not be uninstalled.
Parameters
string $module: A module name.
Return value
string[] An array of reasons the module can not be uninstalled, empty if it can. Each reason should not end with any punctuation since multiple reasons can be displayed together.
Overrides ModuleUninstallValidatorInterface::validate
See also
template_preprocess_system_modules_uninstall()
File
- modules/
examples/ maestro_noninteractive_task_plugin_example/ src/ MaestroNonInteractiveExampleTaskUninstallValidator.php, line 31
Class
- MaestroNonInteractiveExampleTaskUninstallValidator
- Prevents example task module from being uninstalled when the task is bound in a template.
Namespace
Drupal\maestro_noninteractive_task_plugin_exampleCode
public function validate($module) {
$reasons = [];
if ($module == 'maestro_noninteractive_task_plugin_example') {
// Cycle through all of the Maestro templates and determine if any of the tasks are of type MaestroNonIntExample.
$templates = MaestroEngine::getTemplates();
foreach ($templates as $template) {
foreach ($template->tasks as $task) {
if ($task['tasktype'] == 'MaestroNonIntExample') {
$reasons[] = $this
->t('To uninstall the Non Interactive Plugin Task Example module, remove the Non Interactive Example task from the <em>:template</em> template.', [
':template' => $template->label,
]);
}
}
}
}
return $reasons;
}