class ProfileValues

Same name in other branches
  1. 9 core/modules/user/src/Plugin/migrate/ProfileValues.php \Drupal\user\Plugin\migrate\ProfileValues
  2. 8.9.x core/modules/user/src/Plugin/migrate/ProfileValues.php \Drupal\user\Plugin\migrate\ProfileValues
  3. 10 core/modules/user/src/Plugin/migrate/ProfileValues.php \Drupal\user\Plugin\migrate\ProfileValues

Plugin class for user migrations dealing with profile values.

Hierarchy

Expanded class hierarchy of ProfileValues

1 string reference to 'ProfileValues'
d6_profile_values.yml in core/modules/user/migrations/d6_profile_values.yml
core/modules/user/migrations/d6_profile_values.yml

File

core/modules/user/src/Plugin/migrate/ProfileValues.php, line 12

Namespace

Drupal\user\Plugin\migrate
View source
class ProfileValues extends Migration {
    
    /**
     * Flag determining whether the process plugin has been initialized.
     *
     * @var bool
     */
    protected $init = FALSE;
    
    /**
     * {@inheritdoc}
     */
    public function getProcess() {
        if (!$this->init) {
            $this->init = TRUE;
            $definition['source'] = [
                'plugin' => 'profile_field',
                'ignore_map' => TRUE,
            ] + $this->source;
            $definition['destination']['plugin'] = 'null';
            $definition['idMap']['plugin'] = 'null';
            try {
                $this->checkRequirements();
                $profile_field_migration = $this->migrationPluginManager
                    ->createStubMigration($definition);
                $migrate_executable = new MigrateExecutable($profile_field_migration);
                $source_plugin = $profile_field_migration->getSourcePlugin();
                $source_plugin->checkRequirements();
                foreach ($source_plugin as $row) {
                    $name = $row->getSourceProperty('name');
                    $fid = $row->getSourceProperty('fid');
                    // The user profile field name can be greater than 32 characters. Use
                    // the migrated profile field name in the process pipeline.
                    $configuration = [
                        'migration' => 'user_profile_field',
                        'source_ids' => $fid,
                        'no_stub' => TRUE,
                    ];
                    $plugin = $this->processPluginManager
                        ->createInstance('migration_lookup', $configuration, $profile_field_migration);
                    $new_value = $plugin->transform($fid, $migrate_executable, $row, 'tmp');
                    if (isset($new_value[1])) {
                        // Set the destination to the migrated profile field name.
                        $this->process[$new_value[1]] = $name;
                    }
                }
            } catch (RequirementsException) {
                // The checkRequirements() call will fail when the profile module does
                // not exist on the source site, or if the required migrations have not
                // yet run.
            }
        }
        return parent::getProcess();
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
DerivativeInspectionInterface::getBaseId public function Gets the base_plugin_id of the plugin instance. 1
DerivativeInspectionInterface::getDerivativeId public function Gets the derivative_id of the plugin instance. 1
Migration::$audit protected property Whether the migration is auditable.
Migration::$destination protected property The destination configuration, with at least a 'plugin' key.
Migration::$destinationIds protected property The destination identifiers.
Migration::$destinationPlugin protected property The destination plugin.
Migration::$destinationPluginManager protected property The destination plugin manager.
Migration::$id protected property The migration ID (machine name). 1
Migration::$idMap protected property The identifier map data.
Migration::$idMapPlugin protected property The identifier map.
Migration::$idMapPluginManager protected property The ID map plugin manager.
Migration::$label protected property The human-readable label for the migration.
Migration::$migrationPluginManager protected property The migration plugin manager for loading other migration plugins.
Migration::$migration_dependencies protected property
Migration::$migration_tags protected property
Migration::$process protected property The configuration describing the process plugins.
Migration::$processPluginManager protected property The process plugin manager.
Migration::$processPlugins protected property The cached process plugins.
Migration::$requirements protected property These migrations must be already executed before this migration can run.
Migration::$source protected property The source configuration, with at least a 'plugin' key.
Migration::$sourcePlugin protected property The source plugin.
Migration::$sourcePluginManager protected property The source plugin manager.
Migration::$sourceRowStatus protected property The source_row_status for the current map row.
Migration::$statusLabels protected property Labels corresponding to each defined status.
Migration::allRowsProcessed public function Check if all source rows from this migration have been processed. Overrides MigrationInterface::allRowsProcessed
Migration::checkRequirements public function Checks if requirements for this plugin are OK. Overrides RequirementsInterface::checkRequirements
Migration::clearInterruptionResult public function Clears the result to return upon interruption. Overrides MigrationInterface::clearInterruptionResult
Migration::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create 1
Migration::findMigrationDependencies protected function Find migration dependencies from migration_lookup and sub_process plugins.
Migration::getDestinationConfiguration public function Get the destination configuration, with at least a 'plugin' key. Overrides MigrationInterface::getDestinationConfiguration
Migration::getDestinationIds public function The destination identifiers. Overrides MigrationInterface::getDestinationIds
Migration::getDestinationPlugin public function Returns the initialized destination plugin. Overrides MigrationInterface::getDestinationPlugin
Migration::getIdMap public function Returns the initialized id_map plugin. Overrides MigrationInterface::getIdMap
Migration::getIdMapPlugin public function Retrieves the ID map plugin.
Migration::getInterruptionResult public function Get the result to return upon interruption. Overrides MigrationInterface::getInterruptionResult
Migration::getMigrationDependencies public function Get the dependencies for this migration. Overrides MigrationInterface::getMigrationDependencies 1
Migration::getMigrationPluginManager protected function Gets the migration plugin manager.
Migration::getMigrationTags public function The migration tags. Overrides MigrationInterface::getMigrationTags
Migration::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition
Migration::getProcessNormalized protected function Resolve shorthands into a list of plugin configurations.
Migration::getProcessPlugins public function Returns the process plugins. Overrides MigrationInterface::getProcessPlugins
Migration::getRequirements public function Get a list of required plugin IDs. Overrides MigrationInterface::getRequirements
Migration::getSourceConfiguration public function Get the source configuration, with at least a 'plugin' key. Overrides MigrationInterface::getSourceConfiguration
Migration::getSourcePlugin public function Returns the initialized source plugin. Overrides MigrationInterface::getSourcePlugin
Migration::getStatus public function Get the current migration status. Overrides MigrationInterface::getStatus
Migration::getStatusLabel public function Retrieve a label for the current status. Overrides MigrationInterface::getStatusLabel
Migration::id public function An alias for getPluginId() for backwards compatibility reasons. Overrides MigrationInterface::id 1
Migration::interruptMigration public function Sets the migration status as interrupted with a given result code. Overrides MigrationInterface::interruptMigration
Migration::isAuditable public function Indicates if the migration is auditable. Overrides MigrationInterface::isAuditable
Migration::label public function Get the plugin label. Overrides MigrationInterface::label
Migration::mergeProcessOfProperty public function Merge the process pipeline configuration for a single property. Overrides MigrationInterface::mergeProcessOfProperty
Migration::set public function 1
Migration::setProcess public function Allows you to override the entire process configuration. Overrides MigrationInterface::setProcess
Migration::setProcessOfProperty public function Set the process pipeline configuration for an individual destination field. Overrides MigrationInterface::setProcessOfProperty
Migration::setStatus public function Set the current migration status. Overrides MigrationInterface::setStatus
Migration::__construct public function Constructs a Migration. 3
MigrationInterface::MESSAGE_ERROR constant Migration error.
MigrationInterface::MESSAGE_INFORMATIONAL constant Migration info.
MigrationInterface::MESSAGE_NOTICE constant Migration notice.
MigrationInterface::MESSAGE_WARNING constant Migration warning.
MigrationInterface::RESULT_COMPLETED constant All records have been processed.
MigrationInterface::RESULT_DISABLED constant This migration is disabled, skipping.
MigrationInterface::RESULT_FAILED constant The process had a fatal error.
MigrationInterface::RESULT_INCOMPLETE constant The process has stopped itself (e.g., the memory limit is approaching).
MigrationInterface::RESULT_SKIPPED constant Dependencies are unfulfilled - skip the process.
MigrationInterface::RESULT_STOPPED constant The process was stopped externally (e.g., via drush migrate-stop).
MigrationInterface::STATUS_DISABLED constant The migration has been disabled.
MigrationInterface::STATUS_IDLE constant The migration is currently not running.
MigrationInterface::STATUS_IMPORTING constant The migration is currently importing.
MigrationInterface::STATUS_ROLLING_BACK constant The migration is currently being rolled back.
MigrationInterface::STATUS_STOPPING constant The migration is being stopped.
PluginInspectionInterface::getPluginId public function Gets the plugin ID of the plugin instance. 2
ProfileValues::$init protected property Flag determining whether the process plugin has been initialized.
ProfileValues::getProcess public function Gets the normalized process plugin configuration. Overrides Migration::getProcess

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.