From abdb78990231038e4c15cf4db7b188d2d4ce3ecd Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Thu, 26 Apr 2007 22:11:20 +0000 Subject: [PATCH] Fix images in collaboration systems --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Asset/Post.pm | 16 +++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 8eca66570..08a2cf72a 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -1,5 +1,6 @@ 7.3.16 - fix: The POD of Form::Image is faulty (perlDreamer Consulting, LLC) + - fix: Images in Collaboration Systems were broken in 7.3.15 diff --git a/lib/WebGUI/Asset/Post.pm b/lib/WebGUI/Asset/Post.pm index c1d983008..3b6789ce0 100644 --- a/lib/WebGUI/Asset/Post.pm +++ b/lib/WebGUI/Asset/Post.pm @@ -813,11 +813,17 @@ sub postProcess { my $storage = $self->getStorageLocation; foreach my $file (@{$storage->getFiles}) { if ($storage->isImage($file)) { - ##Use generateThumbnail to shrink size to site's max image size - ##We should look into using the new resize method instead. - $storage->generateThumbnail($file, $self->getThread->getParent->get("maxImageSize") || $self->session->setting->get("maxImageSize")); - $storage->deleteFile($file); - $storage->renameFile('thumb-'.$file,$file); + my ($w, $h) = $storage->getSizeInPixels($file); + my $max_size = $self->getThread->getParent->get("maxImageSize") + || $self->session->setting->get("maxImageSize"); + if($w > $max_size || $h > $max_size) { + if($w > $h) { + $storage->resize($file, $max_size); + } + else { + $storage->resize($file, 0, $max_size); + } + } $storage->generateThumbnail($file, $self->getThread->getParent->get("thumbnailSize")); } $size += $storage->getFileSize($file);