function FilterFormatPermission::transform

Same name 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()
  3. 11.x 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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.