Updated all the contrib modules to their latest versions.
[yaffs-website] / web / modules / contrib / migrate_tools / migrate_tools.module
1 <?php
2
3 /**
4  * @file
5  * Provides tools for implementing and managing migrations.
6  */
7
8 /**
9  * Implements hook_entity_type_build().
10  */
11 function migrate_tools_entity_type_build(array &$entity_types) {
12   // Inject our UI into the general migration and migration group config
13   // entities.
14   /** @var \Drupal\Core\Config\Entity\ConfigEntityType[] $entity_types */
15   $entity_types['migration']
16     ->set('admin_permission', 'administer migrations')
17     ->setHandlerClass('list_builder', 'Drupal\migrate_tools\Controller\MigrationListBuilder')
18     ->setFormClass('edit', 'Drupal\migrate_tools\Form\MigrationEditForm')
19     ->setFormClass('delete', 'Drupal\migrate_tools\Form\MigrationDeleteForm')
20     ->setLinkTemplate('list-form', '/admin/structure/migrate/manage/{migration_group}/migrations');
21
22   $entity_types['migration_group']
23     ->set('admin_permission', 'administer migrations')
24     ->setHandlerClass('list_builder', 'Drupal\migrate_tools\Controller\MigrationGroupListBuilder')
25     ->setFormClass('add', 'Drupal\migrate_tools\Form\MigrationGroupAddForm')
26     ->setFormClass('edit', 'Drupal\migrate_tools\Form\MigrationGroupEditForm')
27     ->setFormClass('delete', 'Drupal\migrate_tools\Form\MigrationGroupDeleteForm')
28     ->setLinkTemplate('edit-form', '/admin/structure/migrate/manage/{migration_group}')
29     ->setLinkTemplate('delete-form', '/admin/structure/migrate/manage/{migration_group}/delete');
30 }
31
32 /**
33  * Implements hook_migration_plugins_alter().
34  */
35 function migrate_tools_migration_plugins_alter(array &$migrations) {
36   /** @var \Drupal\Core\TempStore\PrivateTempStoreFactory $store */
37   $tempStoreFactory = \Drupal::service('tempstore.private');
38   $store = $tempStoreFactory->get('migrate_tools');
39   // TODO: remove work-around after
40   // https://www.drupal.org/project/drupal/issues/2860341 is fixed.
41   if (!\Drupal::request()->hasSession()) {
42     $session = \Drupal::service('session');
43     \Drupal::request()->setSession($session);
44     $session->start();
45   }
46   // Get the list of changed migrations.
47   $migrationsChanged = $store->get('migrations_changed');
48   if (isset($store) && (is_array($migrationsChanged))) {
49     // Alter the source column names for each changed migration.
50     foreach ($migrationsChanged as $id) {
51       $data = $store->get($id);
52       if (isset($data['changed'])) {
53         $migrations[$id]['source']['column_names'] = $data['changed'];
54       }
55     }
56   }
57
58 }