Skip to content

Commit c1d4234

Browse files
authored
Merge pull request #6 from php-panel/develop
fix: udpate intervention/image
2 parents e3eb105 + 28a35ab commit c1d4234

File tree

3 files changed

+22
-16
lines changed

3 files changed

+22
-16
lines changed

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"php": ">=8.2",
2525
"symfony/dom-crawler": "~7.3",
2626
"laravel/framework": "^12.0",
27-
"intervention/image": "^2.7"
27+
"intervention/image": "^3.11"
2828
},
2929
"require-dev": {
3030
"laravel/laravel": ">=12",
@@ -66,4 +66,4 @@
6666
}
6767
}
6868
}
69-
}
69+
}

src/Form/Field/ImageField.php

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
namespace Ladmin\Form\Field;
44

55
use Illuminate\Support\Str;
6-
use Intervention\Image\Constraint;
7-
use Intervention\Image\Facades\Image as InterventionImage;
8-
use Intervention\Image\ImageManagerStatic;
6+
use Intervention\Image\Drivers\Gd\Driver as GdDriver;
7+
use Intervention\Image\Image as InterventionImage;
8+
use Intervention\Image\ImageManager;
99
use Symfony\Component\HttpFoundation\File\UploadedFile;
1010

1111
trait ImageField
@@ -44,14 +44,17 @@ public function defaultDirectory()
4444
public function callInterventionMethods($target)
4545
{
4646
if (!empty($this->interventionCalls)) {
47-
$image = ImageManagerStatic::make($target);
47+
$manager = new ImageManager(new GdDriver());
48+
$image = $manager->read($target);
4849

4950
foreach ($this->interventionCalls as $call) {
5051
call_user_func_array(
5152
[$image, $call['method']],
5253
$call['arguments']
53-
)->save($target);
54+
);
5455
}
56+
57+
$image->save($target);
5558
}
5659

5760
return $target;
@@ -73,7 +76,7 @@ public function __call($method, $arguments)
7376
return $this;
7477
}
7578

76-
if (!class_exists(ImageManagerStatic::class)) {
79+
if (!class_exists(ImageManager::class)) {
7780
throw new \Exception('To use image handling and manipulation, please install [intervention/image] first.');
7881
}
7982

@@ -189,13 +192,12 @@ protected function uploadAndDeleteOriginalThumbnail(UploadedFile $file)
189192
$path = $path . '-' . $name . '.' . $ext;
190193

191194
/** @var \Intervention\Image\Image $image */
192-
$image = InterventionImage::make($file);
195+
$manager = new ImageManager(new GdDriver());
196+
$image = $manager->read($file);
193197

194198
$action = $size[2] ?? 'resize';
195199
// Resize image with aspect ratio
196-
$image->$action($size[0], $size[1], function (Constraint $constraint) {
197-
$constraint->aspectRatio();
198-
})->resizeCanvas($size[0], $size[1], 'center', false, '#ffffff');
200+
$image->$action($size[0], $size[1])->resizeCanvas($size[0], $size[1], 'center', false, '#ffffff');
199201

200202
if (!is_null($this->storagePermission)) {
201203
$this->storage->put("{$this->getDirectory()}/{$path}", $image->encode(), $this->storagePermission);

tests/TestCase.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
<?php
22

3+
use Illuminate\Contracts\Console\Kernel;
34
use Illuminate\Filesystem\Filesystem;
5+
use Illuminate\Foundation\AliasLoader;
46
use Illuminate\Support\Arr;
57
use Illuminate\Support\Facades\DB;
68
use Illuminate\Support\Facades\Schema;
9+
use Ladmin\AdminServiceProvider;
10+
use Ladmin\Facades\Admin;
711
use Laravel\BrowserKitTesting\TestCase as BaseTestCase;
812

913
class TestCase extends BaseTestCase
@@ -25,13 +29,13 @@ public function createApplication()
2529
$app = require __DIR__ . '/../vendor/laravel/laravel/bootstrap/app.php';
2630

2731
$app->booting(function () {
28-
$loader = \Illuminate\Foundation\AliasLoader::getInstance();
29-
$loader->alias('Admin', \Ladmin\Facades\Admin::class);
32+
$loader = AliasLoader::getInstance();
33+
$loader->alias('Admin', Admin::class);
3034
});
3135

32-
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
36+
$app->make(Kernel::class)->bootstrap();
3337

34-
$app->register('Ladmin\AdminServiceProvider');
38+
$app->register(AdminServiceProvider::class);
3539

3640
return $app;
3741
}

0 commit comments

Comments
 (0)