
| Current Path : /var/www/html1/testsite/web/core/modules/image/src/Plugin/migrate/destination/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html1/testsite/web/core/modules/image/src/Plugin/migrate/destination/EntityImageStyle.php |
<?php
namespace Drupal\image\Plugin\migrate\destination;
use Drupal\Component\Plugin\Exception\PluginNotFoundException;
use Drupal\migrate\MigrateException;
use Drupal\migrate\Plugin\migrate\destination\EntityConfigBase;
use Drupal\migrate\Row;
/**
* Every migration that uses this destination must have an optional
* dependency on the d6_file migration to ensure it runs first.
*
* @MigrateDestination(
* id = "entity:image_style"
* )
*/
class EntityImageStyle extends EntityConfigBase {
/**
* {@inheritdoc}
*/
public function import(Row $row, array $old_destination_id_values = []) {
$effects = [];
// Need to set the effects property to null on the row before the ImageStyle
// is created, this prevents improper effect plugin initialization.
if ($row->getDestinationProperty('effects')) {
$effects = $row->getDestinationProperty('effects');
$row->setDestinationProperty('effects', []);
}
/** @var \Drupal\image\Entity\ImageStyle $style */
$style = $this->getEntity($row, $old_destination_id_values);
// Iterate the effects array so each effect plugin can be initialized.
// Catch any missing plugin exceptions.
foreach ($effects as $effect) {
try {
$style->addImageEffect($effect);
}
catch (PluginNotFoundException $e) {
throw new MigrateException($e->getMessage(), 0, $e);
}
}
$style->save();
return [$style->id()];
}
}