annotate core/modules/user/src/Plugin/migrate/User.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\user\Plugin\migrate;
Chris@0 4
Chris@0 5 use Drupal\migrate\Exception\RequirementsException;
Chris@0 6 use Drupal\migrate_drupal\Plugin\migrate\FieldMigration;
Chris@0 7
Chris@0 8 /**
Chris@0 9 * Plugin class for Drupal 7 user migrations dealing with fields and profiles.
Chris@0 10 */
Chris@0 11 class User extends FieldMigration {
Chris@0 12
Chris@0 13 /**
Chris@0 14 * {@inheritdoc}
Chris@0 15 */
Chris@0 16 public function getProcess() {
Chris@0 17 if (!$this->init) {
Chris@0 18 $this->init = TRUE;
Chris@18 19 $this->fieldDiscovery->addEntityFieldProcesses($this, 'user');
Chris@18 20
Chris@18 21 $definition = [
Chris@18 22 'source' => [
Chris@18 23 'plugin' => 'profile_field',
Chris@18 24 'ignore_map' => TRUE,
Chris@18 25 ],
Chris@18 26 'idMap' => [
Chris@18 27 'plugin' => 'null',
Chris@18 28 ],
Chris@18 29 'destination' => [
Chris@18 30 'plugin' => 'null',
Chris@18 31 ],
Chris@18 32 ];
Chris@0 33 try {
Chris@0 34 $profile_migration = $this->migrationPluginManager->createStubMigration($definition);
Chris@0 35 // Ensure that Profile is enabled in the source DB.
Chris@0 36 $profile_migration->checkRequirements();
Chris@0 37 foreach ($profile_migration->getSourcePlugin() as $row) {
Chris@0 38 $name = $row->getSourceProperty('name');
Chris@0 39 $this->process[$name] = $name;
Chris@0 40 }
Chris@0 41 }
Chris@0 42 catch (RequirementsException $e) {
Chris@0 43 // The checkRequirements() call will fail when the profile module does
Chris@0 44 // not exist on the source site.
Chris@0 45 }
Chris@0 46 }
Chris@0 47 return parent::getProcess();
Chris@0 48 }
Chris@0 49
Chris@0 50 }