Mercurial > hg > isophonics-drupal-site
annotate modules/contrib/migrate_plus/src/Plugin/Discovery/ConfigEntityDiscovery.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 namespace Drupal\migrate_plus\Plugin\Discovery; |
Chris@0 | 4 |
Chris@0 | 5 use Drupal\Component\Plugin\Discovery\DiscoveryInterface; |
Chris@0 | 6 use Drupal\Component\Plugin\Discovery\DiscoveryTrait; |
Chris@0 | 7 |
Chris@0 | 8 /** |
Chris@0 | 9 * Allows configuration entities to define plugin definitions. |
Chris@0 | 10 */ |
Chris@0 | 11 class ConfigEntityDiscovery implements DiscoveryInterface { |
Chris@0 | 12 |
Chris@0 | 13 use DiscoveryTrait; |
Chris@0 | 14 |
Chris@0 | 15 /** |
Chris@0 | 16 * Entity type to query. |
Chris@0 | 17 * |
Chris@0 | 18 * @var string |
Chris@0 | 19 */ |
Chris@0 | 20 protected $entityType; |
Chris@0 | 21 |
Chris@0 | 22 /** |
Chris@0 | 23 * Construct a YamlDiscovery object. |
Chris@0 | 24 * |
Chris@0 | 25 * @param string $entity_type |
Chris@0 | 26 * The entity type to query for. |
Chris@0 | 27 */ |
Chris@0 | 28 function __construct($entity_type) { |
Chris@0 | 29 $this->entityType = $entity_type; |
Chris@0 | 30 } |
Chris@0 | 31 |
Chris@0 | 32 /** |
Chris@0 | 33 * {@inheritdoc} |
Chris@0 | 34 */ |
Chris@0 | 35 public function getDefinitions() { |
Chris@0 | 36 $definition = \Drupal::entityTypeManager()->getDefinition($this->entityType); |
Chris@0 | 37 $prefix = $definition->getConfigPrefix() . '.'; |
Chris@0 | 38 $storage = \Drupal::service('config.storage'); |
Chris@0 | 39 $query = \Drupal::entityQuery($this->entityType); |
Chris@0 | 40 $ids = $query->execute(); |
Chris@0 | 41 $definitions = []; |
Chris@0 | 42 foreach ($ids as $id) { |
Chris@0 | 43 $definitions[$id] = $storage->read($prefix . $id); |
Chris@0 | 44 } |
Chris@0 | 45 |
Chris@0 | 46 return $definitions; |
Chris@0 | 47 } |
Chris@0 | 48 |
Chris@0 | 49 } |