Version 1
[yaffs-website] / web / core / modules / field / src / Plugin / migrate / process / d7 / FieldSettings.php
diff --git a/web/core/modules/field/src/Plugin/migrate/process/d7/FieldSettings.php b/web/core/modules/field/src/Plugin/migrate/process/d7/FieldSettings.php
new file mode 100644 (file)
index 0000000..dc629a4
--- /dev/null
@@ -0,0 +1,40 @@
+<?php
+
+namespace Drupal\field\Plugin\migrate\process\d7;
+
+use Drupal\migrate\MigrateExecutableInterface;
+use Drupal\migrate\ProcessPluginBase;
+use Drupal\migrate\Row;
+
+/**
+ * @MigrateProcessPlugin(
+ *   id = "d7_field_settings"
+ * )
+ */
+class FieldSettings extends ProcessPluginBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
+    $value = $row->getSourceProperty('settings');
+
+    switch ($row->getSourceProperty('type')) {
+      case 'image':
+        if (!is_array($value['default_image'])) {
+          $value['default_image'] = ['uuid' => ''];
+        }
+        break;
+
+      case 'taxonomy_term_reference':
+        $value['target_type'] = 'taxonomy_term';
+        break;
+
+      default:
+        break;
+    }
+
+    return $value;
+  }
+
+}