ImageCacheActions.php

Same filename in other branches
  1. 9 core/modules/image/src/Plugin/migrate/process/d6/ImageCacheActions.php
  2. 8.9.x core/modules/image/src/Plugin/migrate/process/d6/ImageCacheActions.php
  3. 10 core/modules/image/src/Plugin/migrate/process/d6/ImageCacheActions.php

Namespace

Drupal\image\Plugin\migrate\process\d6

File

core/modules/image/src/Plugin/migrate/process/d6/ImageCacheActions.php

View source
<?php

namespace Drupal\image\Plugin\migrate\process\d6;

use Drupal\migrate\Attribute\MigrateProcess;
use Drupal\migrate\MigrateExecutableInterface;
use Drupal\migrate\ProcessPluginBase;
use Drupal\migrate\Row;
// cspell:ignore imagecache

/**
 * Defines the image cache actions migrate process plugin.
 */
class ImageCacheActions extends ProcessPluginBase {
    
    /**
     * {@inheritdoc}
     */
    public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
        $effects = [];
        foreach ($row->getSourceProperty('actions') as $action) {
            if (empty($action['action'])) {
                continue;
            }
            $id = preg_replace('/^imagecache/', 'image', $action['action']);
            if ($id === 'image_crop') {
                $action['data']['anchor'] = $action['data']['xoffset'] . '-' . $action['data']['yoffset'];
                if (!preg_match('/^[a-z]*\\-[a-z]*/', $action['data']['anchor'])) {
                    $migrate_executable->message
                        ->display('The Drupal 8 image crop effect does not support numeric values for x and y offsets. Use keywords to set crop effect offsets instead.', 'error');
                }
                unset($action['data']['xoffset']);
                unset($action['data']['yoffset']);
            }
            $effects[] = [
                'id' => $id,
                'weight' => $action['weight'],
                'data' => $action['data'],
            ];
        }
        return $effects;
    }

}

Classes

Title Deprecated Summary
ImageCacheActions Defines the image cache actions migrate process plugin.

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