Skip to content

Commit 7232a28

Browse files
author
bradietilley
authored
Merge pull request #16 from abwebdevelopers/optimise-pageload-speeds
Optimise pageload speeds by offloading resizing to an intermediary URL
2 parents 0375c49 + 0ea3bb5 commit 7232a28

File tree

7 files changed

+407
-74
lines changed

7 files changed

+407
-74
lines changed

Plugin.php

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,15 @@
44

55
use System\Classes\PluginBase;
66
use ABWebDevelopers\ImageResize\Classes\Resizer;
7+
use ABWebDevelopers\ImageResize\Commands\ImageResizeClear;
8+
use ABWebDevelopers\ImageResize\Commands\ImageResizeGc;
79
use Event;
810

911
class Plugin extends PluginBase
1012
{
13+
/**
14+
* @inheritDoc
15+
*/
1116
public function pluginDetails()
1217
{
1318
return [
@@ -19,22 +24,30 @@ public function pluginDetails()
1924
];
2025
}
2126

27+
/**
28+
* @inheritDoc
29+
*/
2230
public function registerMarkupTags()
2331
{
2432
return [
2533
'filters' => [
2634
'resize' => function ($image, $width, $height = null, $options = []) {
2735
$resizer = new Resizer((string) $image);
36+
2837
return $resizer->resize((int) $width, (int) $height, (array) $options);
2938
},
3039
'modify' => function ($image, $options = []) {
3140
$resizer = new Resizer((string) $image);
41+
3242
return $resizer->resize(null, null, (array) $options);
3343
}
3444
]
3545
];
3646
}
3747

48+
/**
49+
* @inheritDoc
50+
*/
3851
public function registerSettings()
3952
{
4053
return [
@@ -50,14 +63,20 @@ public function registerSettings()
5063
]
5164
];
5265
}
53-
66+
67+
/**
68+
* @inheritDoc
69+
*/
5470
public function registerPermissions()
5571
{
5672
return [
5773
'abwebdevelopers.imageresize.access_settings' => ['tab' => 'abwebdevelopers.imageresize::lang.permissions.tab', 'label' => 'abwebdevelopers.imageresize::lang.permissions.access_settings'],
5874
];
5975
}
6076

77+
/**
78+
* @inheritDoc
79+
*/
6180
public function boot()
6281
{
6382
Event::listen('backend.page.beforeDisplay', function ($controller, $action, $params) {
@@ -70,4 +89,21 @@ public function boot()
7089
}
7190
});
7291
}
92+
93+
/**
94+
* @inheritDoc
95+
*/
96+
public function register()
97+
{
98+
$this->registerConsoleCommand('imageresize:gc', ImageResizeGc::class);
99+
$this->registerConsoleCommand('imageresize:clear', ImageResizeClear::class);
100+
}
101+
102+
/**
103+
* @inheritDoc
104+
*/
105+
public function registerSchedule($schedule)
106+
{
107+
$schedule->command('imageresize:gc')->daily();
108+
}
73109
}

0 commit comments

Comments
 (0)