Skip to content

Commit d8bd91e

Browse files
committed
[iv3] legacy support adaptions
1 parent 442afa9 commit d8bd91e

3 files changed

Lines changed: 16 additions & 56 deletions

File tree

src/ImageCreation/ImageManagerLocator.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,7 @@ private static function createV2ManagerFacade(): ImageManagerInterface
4545
{
4646
$driver = Configure::read('AssetsPlugin.ImageAsset.driver', 'gd');
4747

48-
return new V2\InterventionImageManagerFacade(
49-
new ImageManager(['driver' => $driver]),
50-
[],
51-
);
48+
return new V2\InterventionImageManagerFacade(new ImageManager(['driver' => $driver]));
5249
}
5350

5451
private static function createV3ManagerFacade(): ImageManagerInterface

src/ImageCreation/LegacyV2Intervention/InterventionImageFacade.php

Lines changed: 15 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,17 @@
44

55
namespace Assets\ImageCreation\LegacyV2Intervention;
66

7-
use Assets\Error\InvalidArgumentException;
87
use Assets\Error\ModificationFailedException;
98
use Assets\ImageCreation\ImageInterface;
109
use Intervention\Image\Image;
1110
use Intervention\Image\MediaType;
12-
use Intervention\Image\Interfaces as Intervention;
1311
use Nette\Utils\FileSystem;
1412

1513
final class InterventionImageFacade implements ImageInterface
1614
{
17-
/**
18-
* @param array<string, string|callable> $legacyMdifiersMap
19-
*/
2015
public function __construct(
2116
private Image $interventionImage,
22-
private array $legacyMdifiersMap,
23-
) {
17+
) {
2418
}
2519

2620
public function width(): int
@@ -62,55 +56,30 @@ public function modify(string $modifier, array $params): ImageInterface
6256
throw new ModificationFailedException('Empty params given');
6357
}
6458

65-
$modify = function (string $modifier, array $params, ?string $legacyModifier = null) {
66-
try {
59+
try {
60+
if (method_exists($this->interventionImage, $modifier)) {
6761
$this->interventionImage->{$modifier}(...$params);
68-
} catch (\Throwable $throwable) {
69-
70-
if ($legacyModifier === null) {
71-
$callback = $this->legacyMdifiersMap[$modifier] ?? null;
72-
if ($callback !== null && is_callable($callback)) {
73-
$callback($this->interventionImage, ...$params);
74-
return $this->interventionImage;
75-
}
76-
}
77-
78-
throw new ModificationFailedException(
79-
sprintf(
80-
'Modification `%s` failed with params: %s.%s',
81-
$modifier,
82-
var_export($params, true),
83-
$legacyModifier !== null ? ' Legacy: ' . $legacyModifier : '',
84-
),
85-
previous: $throwable,
86-
);
8762
}
88-
};
89-
90-
if (method_exists($this->interventionImage, $modifier)) {
91-
$modify($modifier, $params);
92-
return $this;
93-
}
94-
95-
$mappedFromLegacy = $this->legacyMdifiersMap[$modifier] ?? null;
96-
97-
if (
98-
$mappedFromLegacy !== null
99-
&& method_exists($this->interventionImage, $mappedFromLegacy)
100-
) {
101-
$modify($mappedFromLegacy, $params, $modifier);
102-
return $this;
63+
} catch (\Throwable $throwable) {
64+
throw new ModificationFailedException(
65+
sprintf(
66+
'Modification `%s` failed with params: %s.',
67+
$modifier,
68+
var_export($params, true),
69+
),
70+
previous: $throwable,
71+
);
10372
}
10473

10574
throw new ModificationFailedException(sprintf('Modifier `%s` does not exist', $modifier));
10675
}
10776

108-
public function getInterventionImage(): Intervention\ImageInterface
77+
public function getInterventionImage(): Image
10978
{
110-
return $this->requireInterventionImage();
79+
return $this->interventionImage;
11180
}
11281

113-
public function requireInterventionImage(): Intervention\ImageInterface
82+
public function requireInterventionImage(): Image
11483
{
11584
return $this->interventionImage;
11685
}

src/ImageCreation/LegacyV2Intervention/InterventionImageManagerFacade.php

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,22 @@
1010

1111
final class InterventionImageManagerFacade implements ImageManagerInterface
1212
{
13-
/**
14-
* @param array<string, string|callable> $legacyModifiersMap
15-
*/
1613
public function __construct(
1714
private ImageManager $interventionImageManager,
18-
private array $legacyModifiersMap,
1915
) {
2016
}
2117

2218
public function read(string $absolutePath): ImageInterface
2319
{
2420
return new InterventionImageFacade(
2521
$this->interventionImageManager->make($absolutePath),
26-
$this->legacyModifiersMap,
2722
);
2823
}
2924

3025
public function create(int $width, int $height): ImageInterface
3126
{
3227
return new InterventionImageFacade(
3328
$this->interventionImageManager->canvas($width, $height),
34-
$this->legacyModifiersMap,
3529
);
3630
}
3731

0 commit comments

Comments
 (0)