You are here

protected function ContentModerationRouteSubscriber::getModeratedEntityTypes in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/content_moderation/src/Routing/ContentModerationRouteSubscriber.php \Drupal\content_moderation\Routing\ContentModerationRouteSubscriber::getModeratedEntityTypes()

Returns the moderated entity types.

Return value

\Drupal\Core\Entity\ContentEntityTypeInterface[] An associative array of moderated entity types keyed by ID.

File

core/modules/content_moderation/src/Routing/ContentModerationRouteSubscriber.php, line 87

Class

ContentModerationRouteSubscriber
Subscriber for moderated revisionable entity forms.

Namespace

Drupal\content_moderation\Routing

Code

protected function getModeratedEntityTypes() {
  if (!isset($this->moderatedEntityTypes)) {
    $entity_types = $this->entityTypeManager
      ->getDefinitions();

    /** @var \Drupal\workflows\WorkflowInterface $workflow */
    foreach (Workflow::loadMultipleByType('content_moderation') as $workflow) {

      /** @var \Drupal\content_moderation\Plugin\WorkflowType\ContentModeration $plugin */
      $plugin = $workflow
        ->getTypePlugin();
      foreach ($plugin
        ->getEntityTypes() as $entity_type_id) {
        $this->moderatedEntityTypes[$entity_type_id] = $entity_types[$entity_type_id];
      }
    }
  }
  return $this->moderatedEntityTypes;
}