ContentUninstallValidator.php in Zircon Profile 8
File
core/lib/Drupal/Core/Entity/ContentUninstallValidator.php
View source
<?php
namespace Drupal\Core\Entity;
use Drupal\Core\Extension\ModuleUninstallValidatorInterface;
use Drupal\Core\StringTranslation\StringTranslationTrait;
use Drupal\Core\StringTranslation\TranslationInterface;
class ContentUninstallValidator implements ModuleUninstallValidatorInterface {
use StringTranslationTrait;
protected $entityManager;
public function __construct(EntityManagerInterface $entity_manager, TranslationInterface $string_translation) {
$this->entityManager = $entity_manager;
$this->stringTranslation = $string_translation;
}
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;
}
}