protected function ReviewForm::prepareOutput in Drupal 9
Prepare the migration state data for output.
Each source and destination module_name is changed to the human-readable name, the destination modules are put into a CSV format, and everything is sorted.
Parameters
string[] $migration_state: An array where the keys are machine names of modules on the source site. Values are lists of machine names of modules on the destination site, in CSV format.
Return value
string[][] An indexed array of arrays that contain module data, sorted by the source module name. Each sub-array contains the source module name, the source module machine name, and the destination module names in a sorted CSV format.
1 call to ReviewForm::prepareOutput()
- ReviewForm::buildForm in core/
modules/ migrate_drupal_ui/ src/ Form/ ReviewForm.php - Form constructor.
File
- core/
modules/ migrate_drupal_ui/ src/ Form/ ReviewForm.php, line 284
Class
- ReviewForm
- Migrate Upgrade review form.
Namespace
Drupal\migrate_drupal_ui\FormCode
protected function prepareOutput(array $migration_state) {
$output = [];
foreach ($migration_state as $source_machine_name => $destination_modules) {
$data = unserialize($this->systemData['module'][$source_machine_name]['info']);
$source_module_name = $data['name'] ?? $source_machine_name;
// Get the names of all the destination modules.
$destination_module_names = [];
if (!empty($destination_modules)) {
$destination_modules = explode(', ', $destination_modules);
foreach ($destination_modules as $destination_module) {
if ($destination_module === 'core') {
$destination_module_names[] = 'Core';
}
else {
try {
$destination_module_names[] = $this->moduleHandler
->getName($destination_module);
} catch (UnknownExtensionException $e) {
$destination_module_names[] = $destination_module;
}
}
}
}
sort($destination_module_names);
$output[$source_machine_name] = [
'source_module_name' => $source_module_name,
'source_machine_name' => $source_machine_name,
'destination' => implode(', ', $destination_module_names),
];
}
usort($output, function ($a, $b) {
return strcmp($a['source_module_name'], $b['source_module_name']);
});
return $output;
}