From b64102a91f538b680184f5ea8e6980caa908c0cf Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Thu, 6 Sep 2007 16:11:39 +0000 Subject: [PATCH] fix thumbnail script with Graphics::Magick, other cleanups --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Image.pm | 26 ++++++++++++-------------- sbin/thumbnailer.pl | 16 ++++++++++++++-- 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 1353e0c8b..9766bab0c 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -7,6 +7,7 @@ - Profile fields and categories and have confirmation boxes when deleting using the side menu - Clicking active version tag in sidebar opens up version tag edit screen - fix: wrong ssl link in iTransact settings + - fix thumbnail script with Graphics::Magick 7.4.5 - fix: Apostrophy incorrectly escaped as double quote in some places diff --git a/lib/WebGUI/Image.pm b/lib/WebGUI/Image.pm index f4df72211..63f4afd9c 100644 --- a/lib/WebGUI/Image.pm +++ b/lib/WebGUI/Image.pm @@ -3,21 +3,19 @@ package WebGUI::Image; use strict; use WebGUI::Image::Palette; use Carp qw(croak); -eval 'use Graphics::Magick'; -my $graphicsMagickAvailable = ($@) ? 0 : 1; -eval 'use Image::Magick'; -my $imageMagickAvailable = ($@) ? 0 : 1; -my $graphicsPackage = ''; -if ($imageMagickAvailable) { - $graphicsPackage = "Image::Magick"; -} -elsif ($graphicsMagickAvailable) { - $graphicsPackage = "Graphics::Magick"; -} -else { - croak "You must have either Graphics::Magick or Image::Magick installed to run WebGUI.\n"; -} +my $graphicsPackage; +BEGIN { + if (eval { require Graphics::Magick; 1 }) { + $graphicsPackage = 'Graphics::Magick'; + } + elsif (eval { require Graphics::Magick; 1 }) { + $graphicsPackage = 'Graphics::Magick'; + } + else { + croak "You must have either Graphics::Magick or Image::Magick installed to run WebGUI.\n"; + } +} =head1 NAME diff --git a/sbin/thumbnailer.pl b/sbin/thumbnailer.pl index 8c5dd94cf..165752174 100644 --- a/sbin/thumbnailer.pl +++ b/sbin/thumbnailer.pl @@ -15,9 +15,21 @@ use File::stat; use File::Find (); -use Image::Magick; use Getopt::Long; +my $graphicsPackage; +BEGIN { + if (eval { require Graphics::Magick; 1 }) { + $graphicsPackage = 'Graphics::Magick'; + } + elsif (eval { require Image::Magick; 1 }) { + $graphicsPackage = 'Image::Magick'; + } + else { + croak "You must have either Graphics::Magick or Image::Magick installed to run WebGUI.\n"; + } +} + use lib "../lib"; use WebGUI::Utility; @@ -74,7 +86,7 @@ sub createThumbnail { my ($image, $x, $y, $r, $n, $type); my ($fileName, $fileDir) = @_; print "Nailing: $fileDir/$fileName\n"; - $image = Image::Magick->new; + $image = $graphicsPackage->new; $image->Read($fileName); ($x, $y) = $image->Get('width','height'); $r = $x>$y ? $x / $thumbnailSize : $y / $thumbnailSize;