3 namespace Drupal\filter\Plugin\migrate\process\d6;
5 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
6 use Drupal\migrate\Plugin\MigrationInterface;
7 use Drupal\migrate\MigrateExecutableInterface;
8 use Drupal\migrate\Plugin\MigrateProcessInterface;
9 use Drupal\migrate\ProcessPluginBase;
10 use Drupal\migrate\Row;
11 use Symfony\Component\DependencyInjection\ContainerInterface;
14 * Migrate filter format serial to string id in permission name.
16 * @MigrateProcessPlugin(
17 * id = "filter_format_permission",
18 * handle_multiples = TRUE
21 class FilterFormatPermission extends ProcessPluginBase implements ContainerFactoryPluginInterface {
24 * The migration plugin.
26 * @var \Drupal\migrate\Plugin\MigrateProcessInterface
28 protected $migrationPlugin;
33 public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, MigrateProcessInterface $migration_plugin) {
34 parent::__construct($configuration, $plugin_id, $plugin_definition);
35 $this->migration = $migration;
36 $this->migrationPlugin = $migration_plugin;
42 public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
48 $container->get('plugin.manager.migrate.process')->createInstance('migration', ['migration' => 'd6_filter_format'], $migration)
55 * Migrate filter format serial to string id in permission name.
57 public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
58 $rid = $row->getSourceProperty('rid');
59 if ($formats = $row->getSourceProperty("filter_permissions:$rid")) {
60 foreach ($formats as $format) {
61 $new_id = $this->migrationPlugin->transform($format, $migrate_executable, $row, $destination_property);
63 $value[] = 'use text format ' . $new_id;