FileEntityFieldInstanceSettings.php in Media Migration 8
File
src/Plugin/migrate/process/FileEntityFieldInstanceSettings.php
View source
<?php
namespace Drupal\media_migration\Plugin\migrate\process;
use Drupal\migrate\MigrateExecutableInterface;
use Drupal\migrate\Row;
class FileEntityFieldInstanceSettings extends MediaMigrationFieldInstanceSettingsProcessPluginBase {
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
$type = $row
->getSourceProperty('type');
if ($type == 'file_entity') {
$existing_media_type_ids = array_keys($this
->getExistingMediaTypeData());
$predicted_media_type_ids = array_keys($this
->getPredictedMediaTypeData());
$media_type_ids = array_unique(array_merge($existing_media_type_ids, $predicted_media_type_ids));
$widget_settings = $row
->getSourceProperty('widget');
$target_bundles = !empty($widget_settings['settings']['allowed_types']) ? array_filter($widget_settings['settings']['allowed_types']) : [];
$value['handler_settings']['target_bundles'] = !empty($target_bundles) ? $target_bundles : array_combine($media_type_ids, $media_type_ids);
}
return $value;
}
}