X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Flib%2FDrupal%2FCore%2FEntity%2FEntityLastInstalledSchemaRepository.php;h=70e552c742ff4ead98756d5d936c25d8fa0d9b7e;hb=5b8bb166bfa98770daef9de5c127fc2e6ef02340;hp=61300125c9948380f37491974bf0cc91005f8629;hpb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;p=yaffs-website diff --git a/web/core/lib/Drupal/Core/Entity/EntityLastInstalledSchemaRepository.php b/web/core/lib/Drupal/Core/Entity/EntityLastInstalledSchemaRepository.php index 61300125c..70e552c74 100644 --- a/web/core/lib/Drupal/Core/Entity/EntityLastInstalledSchemaRepository.php +++ b/web/core/lib/Drupal/Core/Entity/EntityLastInstalledSchemaRepository.php @@ -34,6 +34,28 @@ class EntityLastInstalledSchemaRepository implements EntityLastInstalledSchemaRe return $this->keyValueFactory->get('entity.definitions.installed')->get($entity_type_id . '.entity_type'); } + /** + * {@inheritdoc} + */ + public function getLastInstalledDefinitions() { + $all_definitions = $this->keyValueFactory->get('entity.definitions.installed')->getAll(); + + // Filter out field storage definitions. + $filtered_keys = array_filter(array_keys($all_definitions), function ($key) { + return substr($key, -12) === '.entity_type'; + }); + $entity_type_definitions = array_intersect_key($all_definitions, array_flip($filtered_keys)); + + // Ensure that the returned array is keyed by the entity type ID. + $keys = array_keys($entity_type_definitions); + $keys = array_map(function ($key) { + $parts = explode('.', $key); + return $parts[0]; + }, $keys); + + return array_combine($keys, $entity_type_definitions); + } + /** * {@inheritdoc} */