entityManager = $entity_manager; $this->stringTranslation = $string_translation; } /** * {@inheritdoc} */ public function validate($module) { $entity_types = $this->entityManager->getDefinitions(); $reasons = []; 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. Remove @entity_type_plural.', [ '@entity_type' => $entity_type->getLabel(), '@entity_type_plural' => $entity_type->getPluralLabel(), ':url' => Url::fromRoute('system.prepare_modules_entity_uninstall', ['entity_type_id' => $entity_type->id()])->toString(), ]); } } return $reasons; } }