You are here

public function ModuleUninstallValidatorInterface::validate in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Extension/ModuleUninstallValidatorInterface.php \Drupal\Core\Extension\ModuleUninstallValidatorInterface::validate()

Determines the reasons a module can not be uninstalled.

Example implementation:


public function validate($module) {
  $entity_types = $this->entityManager->getDefinitions();
  $reasons = array();
  foreach ($entity_types as $entity_type) {
    if ($module == $entity_type->getProvider() && $entity_type instanceof ContentEntityTypeInterface && $this->entityManager->getStorage($entity_type->id())->hasData()) {
      $reasons[] = $this->t('There is content for the entity type: @entity_type', array('@entity_type' => $entity_type->getLabel()));
    }
  }
  return $reasons;
}

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.

See also

template_preprocess_system_modules_uninstall()

14 methods override ModuleUninstallValidatorInterface::validate()
BookUninstallValidator::validate in core/modules/book/src/ProxyClass/BookUninstallValidator.php
Determines the reasons a module can not be uninstalled.
BookUninstallValidator::validate in core/modules/book/src/BookUninstallValidator.php
Determines the reasons a module can not be uninstalled.
ContentUninstallValidator::validate in core/lib/Drupal/Core/ProxyClass/Entity/ContentUninstallValidator.php
Determines the reasons a module can not be uninstalled.
ContentUninstallValidator::validate in core/lib/Drupal/Core/Entity/ContentUninstallValidator.php
Determines the reasons a module can not be uninstalled.
FieldModuleUninstallValidator::validate in core/lib/Drupal/Core/ProxyClass/Field/FieldModuleUninstallValidator.php
Determines the reasons a module can not be uninstalled.

... See full list

File

core/lib/Drupal/Core/Extension/ModuleUninstallValidatorInterface.php, line 46
Contains \Drupal\Core\Extension\ModuleUninstallValidatorInterface.

Class

ModuleUninstallValidatorInterface
Common interface for module uninstall validators.

Namespace

Drupal\Core\Extension

Code

public function validate($module);