function BookUninstallValidator::validate

Same name in this branch
  1. 8.9.x core/modules/book/src/ProxyClass/BookUninstallValidator.php \Drupal\book\ProxyClass\BookUninstallValidator::validate()
Same name in other branches
  1. 9 core/modules/book/src/ProxyClass/BookUninstallValidator.php \Drupal\book\ProxyClass\BookUninstallValidator::validate()
  2. 9 core/modules/book/src/BookUninstallValidator.php \Drupal\book\BookUninstallValidator::validate()
  3. 10 core/modules/book/src/ProxyClass/BookUninstallValidator.php \Drupal\book\ProxyClass\BookUninstallValidator::validate()
  4. 10 core/modules/book/src/BookUninstallValidator.php \Drupal\book\BookUninstallValidator::validate()
  5. 11.x core/modules/book/src/ProxyClass/BookUninstallValidator.php \Drupal\book\ProxyClass\BookUninstallValidator::validate()
  6. 11.x core/modules/book/src/BookUninstallValidator.php \Drupal\book\BookUninstallValidator::validate()

Overrides ModuleUninstallValidatorInterface::validate

File

core/modules/book/src/BookUninstallValidator.php, line 51

Class

BookUninstallValidator
Prevents book module from being uninstalled whilst any book nodes exist or there are any book outline stored.

Namespace

Drupal\book

Code

public function validate($module) {
    $reasons = [];
    if ($module == 'book') {
        if ($this->hasBookOutlines()) {
            $reasons[] = $this->t('To uninstall Book, delete all content that is part of a book');
        }
        else {
            // The book node type is provided by the Book module. Prevent uninstall
            // if there are any nodes of that type.
            if ($this->hasBookNodes()) {
                $reasons[] = $this->t('To uninstall Book, delete all content that has the Book content type');
            }
        }
    }
    return $reasons;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.