You are here

public function FilterFormatPermission::transform in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/filter/src/Plugin/migrate/process/d6/FilterFormatPermission.php \Drupal\filter\Plugin\migrate\process\d6\FilterFormatPermission::transform()
  2. 10 core/modules/filter/src/Plugin/migrate/process/d6/FilterFormatPermission.php \Drupal\filter\Plugin\migrate\process\d6\FilterFormatPermission::transform()

Migrate filter format serial to string id in permission name.

Overrides ProcessPluginBase::transform

File

core/modules/filter/src/Plugin/migrate/process/d6/FilterFormatPermission.php, line 91

Class

FilterFormatPermission
Migrate filter format serial to string id in permission name.

Namespace

Drupal\filter\Plugin\migrate\process\d6

Code

public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
  $rid = $row
    ->getSourceProperty('rid');
  $migration = isset($this->configuration['migration']) ? $this->configuration['migration'] : 'd6_filter_format';
  if ($formats = $row
    ->getSourceProperty("filter_permissions:{$rid}")) {
    foreach ($formats as $format) {

      // This BC layer is included because if the plugin constructor was
      // called in the legacy way with a migration_lookup process plugin, it
      // may have been preconfigured with a different migration to look up
      // against. While this is unlikely, for maximum BC we will continue to
      // use the plugin to do the lookup if it is provided, and support for
      // this will be removed in Drupal 9.
      if ($this->migrationPlugin) {
        $new_id = $this->migrationPlugin
          ->transform($format, $migrate_executable, $row, $destination_property);
      }
      else {
        $lookup_result = $this->migrateLookup
          ->lookup($migration, [
          $format,
        ]);
        if ($lookup_result) {
          $new_id = $lookup_result[0]['format'];
        }
      }
      if (!empty($new_id)) {
        $value[] = 'use text format ' . $new_id;
      }
    }
  }
  return $value;
}