Version 1
[yaffs-website] / web / modules / contrib / migrate_plus / src / Plugin / Discovery / ConfigEntityDiscovery.php
1 <?php
2
3 namespace Drupal\migrate_plus\Plugin\Discovery;
4
5 use Drupal\Component\Plugin\Discovery\DiscoveryInterface;
6 use Drupal\Component\Plugin\Discovery\DiscoveryTrait;
7
8 /**
9  * Allows configuration entities to define plugin definitions.
10  */
11 class ConfigEntityDiscovery implements DiscoveryInterface {
12
13   use DiscoveryTrait;
14
15   /**
16    * Entity type to query.
17    *
18    * @var string
19    */
20   protected $entityType;
21
22   /**
23    * Construct a YamlDiscovery object.
24    *
25    * @param string $entity_type
26    *   The entity type to query for.
27    */
28   function __construct($entity_type) {
29     $this->entityType = $entity_type;
30   }
31
32   /**
33    * {@inheritdoc}
34    */
35   public function getDefinitions() {
36     $definition = \Drupal::entityTypeManager()->getDefinition($this->entityType);
37     $prefix = $definition->getConfigPrefix() . '.';
38     $storage = \Drupal::service('config.storage');
39     $query = \Drupal::entityQuery($this->entityType);
40     $ids = $query->execute();
41     $definitions = [];
42     foreach ($ids as $id) {
43       $definitions[$id] = $storage->read($prefix . $id);
44     }
45
46     return $definitions;
47   }
48
49 }