function EntityTypeOptions::getPossibleOptions

Overrides OptionsProviderInterface::getPossibleOptions

File

src/TypedData/Options/EntityTypeOptions.php, line 45

Class

EntityTypeOptions
Options provider to list all entity types.

Namespace

Drupal\rules\TypedData\Options

Code

public function getPossibleOptions(AccountInterface $account = NULL) {
    $options = [];
    // Load all the entity types.
    $entity_types = $this->entityTypeManager
        ->getDefinitions();
    foreach ($entity_types as $entity_type) {
        if (!$entity_type instanceof ContentEntityTypeInterface) {
            continue;
        }
        $options[$entity_type->id()] = (string) $entity_type->getLabel();
        // If the id differs from the label add the id in brackets for clarity.
        if (strtolower(str_replace('_', ' ', $entity_type->id())) != strtolower($entity_type->getLabel())) {
            $options[$entity_type->id()] .= ' (' . $entity_type->id() . ')';
        }
    }
    // Sort the result by value for ease of locating and selecting.
    asort($options);
    return $options;
}