Version 1
[yaffs-website] / web / modules / contrib / migrate_plus / migrate_example_advanced / migrate_example_advanced.install
diff --git a/web/modules/contrib/migrate_plus/migrate_example_advanced/migrate_example_advanced.install b/web/modules/contrib/migrate_plus/migrate_example_advanced/migrate_example_advanced.install
new file mode 100644 (file)
index 0000000..b2506e4
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+
+/**
+ * @file
+ * Install, update and uninstall functions for the migrate_example_advanced module.
+ */
+
+use Drupal\migrate_plus\Entity\Migration;
+
+/**
+ * Implements hook_install().
+ */
+function migrate_example_advanced_install() {
+  // We need the urls to be absolute for the XML source plugin to read them, but
+  // the static configuration files on disk can't know the server and port to
+  // use. So, in the .yml files we provide the REST resources relative to the
+  // site root and here rewrite them to fully-qualified paths.
+
+  /** @var \Drupal\migrate_plus\Entity\MigrationInterface $wine_role_xml_migration */
+  $wine_role_xml_migration = Migration::load('wine_role_xml');
+  if ($wine_role_xml_migration) {
+    $source = $wine_role_xml_migration->get('source');
+    $request = \Drupal::request();
+    $source['urls'] = 'http://' . $request->getHttpHost() . $source['urls'];
+    $wine_role_xml_migration->set('source', $source);
+    $wine_role_xml_migration->save();
+  }
+  /** @var \Drupal\migrate_plus\Entity\MigrationInterface $wine_role_json_migration */
+  $wine_role_json_migration = Migration::load('wine_role_json');
+  if ($wine_role_json_migration) {
+    $source = $wine_role_json_migration->get('source');
+    $request = \Drupal::request();
+    $source['urls'] = 'http://' . $request->getHttpHost() . $source['urls'];
+    $wine_role_json_migration->set('source', $source);
+    $wine_role_json_migration->save();
+  }
+  /** @var \Drupal\migrate_plus\Entity\MigrationInterface $wine_variety_multi_xml_migration */
+  $wine_variety_multi_xml_migration = Migration::load('wine_variety_multi_xml');
+  if ($wine_variety_multi_xml_migration) {
+    $source = $wine_variety_multi_xml_migration->get('source');
+    $request = \Drupal::request();
+    $urls = [];
+    foreach ($source['urls'] as $url) {
+      $urls[] = 'http://' . $request->getHttpHost() . $url;
+    }
+    $source['urls'] = $urls;
+    $wine_variety_multi_xml_migration->set('source', $source);
+    $wine_variety_multi_xml_migration->save();
+  }
+}