You are here

class AclTable in ACL 8

Same name in this branch
  1. 8 src/Plugin/migrate/source/AclTable.php \Drupal\acl\Plugin\migrate\source\AclTable
  2. 8 src/Plugin/migrate/destination/AclTable.php \Drupal\acl\Plugin\migrate\destination\AclTable

Drupal 8 ACL Table destination.

Plugin annotation


@MigrateDestination(
  id = "acl_table",
  destination_module="acl",
)

Hierarchy

Expanded class hierarchy of AclTable

File

src/Plugin/migrate/destination/AclTable.php, line 18

Namespace

Drupal\acl\Plugin\migrate\destination
View source
class AclTable extends DestinationBase implements MigrateDestinationInterface {

  /**
   * Table name to fetch.
   *
   * @var array
   */
  protected $table_name;

  /**
   * Field names to fetch.
   *
   * @var array
   */
  protected $fields_list;

  /**
   * Default Ids for Migrate API.
   *
   * @var array
   */
  protected $ids = [
    'acl_id' => [
      'type' => 'integer',
    ],
  ];

  /**
   * {@inheritdoc}
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration) {
    parent::__construct($configuration, $plugin_id, $plugin_definition, $migration);
    $this->table_name = $this->configuration['table_name'];
    $this->fields_list = $this->configuration['fields_list'];
    if (!empty($this->configuration['ids'])) {
      $this->ids = $this->configuration['ids'];
    }
  }

  /**
   * {@inheritdoc}
   */
  public function import(Row $row, array $old_destination_id_values = array()) {
    $destination = $row
      ->getDestination();
    $keys = array();
    foreach (array_keys($this->ids) as $id) {
      $keys[$id] = $destination[$id];
      unset($destination[$id]);
    }
    \Drupal::database()
      ->merge($this->table_name)
      ->keys($keys)
      ->fields($destination)
      ->execute();
    $return = array_map(function ($key) use ($row) {
      return $row
        ->getDestinationProperty($key);
    }, $keys);
    return $return;
  }

  /**
   * {@inheritdoc}
   */
  public function getIds() {
    return $this->ids;
  }

  /**
   * {@inheritdoc}
   */
  public function fields(MigrationInterface $migration = NULL) {
    return array_combine($this->fields_list, $this->fields_list);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AclTable::$fields_list protected property Field names to fetch.
AclTable::$ids protected property Default Ids for Migrate API.
AclTable::$table_name protected property Table name to fetch.
AclTable::fields public function Returns an array of destination fields. Overrides MigrateDestinationInterface::fields
AclTable::getIds public function Gets the destination IDs. Overrides MigrateDestinationInterface::getIds
AclTable::import public function Import the row. Overrides MigrateDestinationInterface::import
AclTable::__construct public function Constructs an entity destination plugin. Overrides DestinationBase::__construct
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
DestinationBase::$migration protected property The migration.
DestinationBase::$rollbackAction protected property The rollback action to be saved for the last imported item.
DestinationBase::$supportsRollback protected property Indicates whether the destination can be rolled back.
DestinationBase::checkRequirements public function Checks if requirements for this plugin are OK. Overrides RequirementsInterface::checkRequirements
DestinationBase::getDestinationModule public function Gets the destination module handling the destination data. Overrides MigrateDestinationInterface::getDestinationModule 1
DestinationBase::rollback public function Delete the specified destination object from the target Drupal. Overrides MigrateDestinationInterface::rollback 2
DestinationBase::rollbackAction public function The rollback action for the last imported item. Overrides MigrateDestinationInterface::rollbackAction
DestinationBase::setRollbackAction protected function For a destination item being updated, set the appropriate rollback action.
DestinationBase::supportsRollback public function Whether the destination can be rolled back or not. Overrides MigrateDestinationInterface::supportsRollback
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.