Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 22 |
| ImageCacheActions | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 22 |
| transform | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 22 |
|||
| <?php | |
| /** | |
| * @file | |
| * contains \Drupal\image\Plugin\migrate\process\d6\ImageCacheActions. | |
| */ | |
| namespace Drupal\image\Plugin\migrate\process\d6; | |
| use Drupal\migrate\MigrateExecutableInterface; | |
| use Drupal\migrate\ProcessPluginBase; | |
| use Drupal\migrate\Row; | |
| /** | |
| * @MigrateProcessPlugin( | |
| * id = "d6_imagecache_actions" | |
| * ) | |
| */ | |
| class ImageCacheActions extends ProcessPluginBase { | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) { | |
| $effects = []; | |
| foreach($row->getSourceProperty('actions') as $action) { | |
| $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; | |
| } | |
| } |