Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 12 |
| ContentUninstallValidator | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
42 | |
0.00% |
0 / 12 |
| __construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
| validate | |
0.00% |
0 / 1 |
30 | |
0.00% |
0 / 9 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\Entity\ContentUninstallValidator. | |
| */ | |
| namespace Drupal\Core\Entity; | |
| use Drupal\Core\Extension\ModuleUninstallValidatorInterface; | |
| use Drupal\Core\StringTranslation\StringTranslationTrait; | |
| use Drupal\Core\StringTranslation\TranslationInterface; | |
| /** | |
| * Validates module uninstall readiness based on existing content entities. | |
| */ | |
| class ContentUninstallValidator implements ModuleUninstallValidatorInterface { | |
| use StringTranslationTrait; | |
| /** | |
| * The entity manager. | |
| * | |
| * @var \Drupal\Core\Entity\EntityManagerInterface | |
| */ | |
| protected $entityManager; | |
| /** | |
| * Constructs a new ContentUninstallValidator. | |
| * | |
| * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager | |
| * The entity manager. | |
| * @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation | |
| * The string translation service. | |
| */ | |
| public function __construct(EntityManagerInterface $entity_manager, TranslationInterface $string_translation) { | |
| $this->entityManager = $entity_manager; | |
| $this->stringTranslation = $string_translation; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| 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; | |
| } | |
| } |