autoresize on upload feature for resize ext
This commit is contained in:
parent
5142901bca
commit
2cab5ec247
@ -31,6 +31,7 @@ class ResizeImage extends SimpleExtension {
|
||||
public function onInitExt($event) {
|
||||
global $config;
|
||||
$config->set_default_bool('resize_enabled', true);
|
||||
$config->set_default_bool('resize_upload', false);
|
||||
$config->set_default_int('resize_default_width', 0);
|
||||
$config->set_default_int('resize_default_height', 0);
|
||||
}
|
||||
@ -46,6 +47,7 @@ class ResizeImage extends SimpleExtension {
|
||||
public function onSetupBuilding($event) {
|
||||
$sb = new SetupBlock("Image Resize");
|
||||
$sb->add_bool_option("resize_enabled", "Allow resizing images: ");
|
||||
$sb->add_bool_option("resize_upload", "<br>Resize on upload: ");
|
||||
$sb->add_label("<br>Preset/Default Width: ");
|
||||
$sb->add_int_option("resize_default_width");
|
||||
$sb->add_label(" px");
|
||||
@ -56,6 +58,37 @@ class ResizeImage extends SimpleExtension {
|
||||
$event->panel->add_block($sb);
|
||||
}
|
||||
|
||||
public function onDataUpload(DataUploadEvent $event) {
|
||||
global $config;
|
||||
$image_obj = Image::by_id($event->image_id);
|
||||
//No auto resizing for gifs due to animated gif causing errors :(
|
||||
//Also PNG resizing seems to be completely broken.
|
||||
if($config->get_bool("resize_upload") == true && ($image_obj->ext == "jpg")){
|
||||
$width = $height = 0;
|
||||
|
||||
if ($config->get_int("resize_default_width") !== 0) {
|
||||
$height = $config->get_int("resize_default_width");
|
||||
}
|
||||
if ($config->get_int("resize_default_height") !== 0) {
|
||||
$height = $config->get_int("resize_default_height");
|
||||
}
|
||||
|
||||
try {
|
||||
$this->resize_image($event->image_id, $width, $height);
|
||||
} catch (ImageResizeException $e) {
|
||||
$this->theme->display_resize_error($page, "Error Resizing", $e->error);
|
||||
}
|
||||
|
||||
//Need to generate thumbnail again...
|
||||
//This only seems to be an issue if one of the sizes was set to 0.
|
||||
$image_obj = Image::by_id($event->image_id); //Must be a better way to grab the new hash than setting this again..
|
||||
send_event(new ThumbnailGenerationEvent($image_obj->hash, $image_obj->ext, true));
|
||||
|
||||
log_info("core-image", "Image #{$event->image_id} has been resized to: ".$width."x".$height);
|
||||
//TODO: Notify user that image has been resized.
|
||||
}
|
||||
}
|
||||
|
||||
public function onPageRequest($event) {
|
||||
global $page, $user;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user