From efe4a9f516092a259eb99363c64eb8a691a8ebde Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sat, 6 Nov 2010 21:55:41 -0700 Subject: [PATCH] Intercept photos at save time and resize the original down to a max of 1024 pixels on a side. --- .../max_size/helpers/max_size_event.php | 37 +++++++++++++++++++ .../max_size/helpers/max_size_installer.php | 25 +++++++++++++ 3.1/modules/max_size/module.info | 3 ++ 3 files changed, 65 insertions(+) create mode 100644 3.1/modules/max_size/helpers/max_size_event.php create mode 100644 3.1/modules/max_size/helpers/max_size_installer.php create mode 100644 3.1/modules/max_size/module.info diff --git a/3.1/modules/max_size/helpers/max_size_event.php b/3.1/modules/max_size/helpers/max_size_event.php new file mode 100644 index 00000000..2fd1d1c5 --- /dev/null +++ b/3.1/modules/max_size/helpers/max_size_event.php @@ -0,0 +1,37 @@ +is_photo()) { + list ($width, $height, $mime_type) = photo::get_file_metadata($item->data_file); + if ($width > $max_size || $height > $max_size) { + $tempnam = tempnam(TMPPATH, "size"); + $tmpfile = $tempnam . "." . pathinfo($item->data_file, PATHINFO_EXTENSION); + gallery_graphics::resize( + $item->data_file, $tmpfile, + array("width" => $max_size, "height" => $max_size, "master" => Image::AUTO)); + rename($tmpfile, $item->data_file); + unlink($tempnam); + } + } + } +} \ No newline at end of file diff --git a/3.1/modules/max_size/helpers/max_size_installer.php b/3.1/modules/max_size/helpers/max_size_installer.php new file mode 100644 index 00000000..bd268b9c --- /dev/null +++ b/3.1/modules/max_size/helpers/max_size_installer.php @@ -0,0 +1,25 @@ +