removed the Image::Magick dependency. if it's there, we use it, if it's not, we don't

This commit is contained in:
Flavio Curti 2002-05-03 15:04:29 +00:00
parent 01e11d7871
commit 8ee18e2937
3 changed files with 15 additions and 8 deletions

View file

@ -14,10 +14,16 @@ package WebGUI::Attachment;
=cut =cut
my $hasImageMagick=1;
use File::Copy qw(cp); use File::Copy qw(cp);
use File::Path; use File::Path;
use FileHandle; use FileHandle;
use Image::Magick;
# test for ImageMagick. if it's not installed set $hasImageMagick to 0,
# if it is installed it will be set to 1
eval " use Image::Magick; "; $hasImageMagick=0 if $@;
use POSIX; use POSIX;
use strict; use strict;
use WebGUI::ErrorHandler; use WebGUI::ErrorHandler;
@ -59,7 +65,7 @@ use WebGUI::Utility;
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub _createThumbnail { sub _createThumbnail {
my ($image, $error, $x, $y, $r, $n); my ($image, $error, $x, $y, $r, $n);
if (isIn($_[0]->getType, qw(jpg jpeg gif png tif tiff bmp))) { if ($hasImageMagick && isIn($_[0]->getType, qw(jpg jpeg gif png tif tiff bmp))) {
$image = Image::Magick->new; $image = Image::Magick->new;
$error = $image->Read($_[0]->getPath); $error = $image->Read($_[0]->getPath);
WebGUI::ErrorHandler::warn($error) if $error; WebGUI::ErrorHandler::warn($error) if $error;
@ -223,15 +229,16 @@ sub getPath {
=head2 getThumbnail ( ) =head2 getThumbnail ( )
Returns a full URL to the thumbnail for this attachment. Thumbnails Returns a full URL to the thumbnail for this attachment. Thumbnails
are only created for jpg, gif, png, tif, and bmp so getThumbnail are only created for jpg, gif, png, tif, and bmp with Image::Magick
only returns a thumbnail if the file is one of those types. installed so getThumbnail only returns a thumbnail if the file is
one of those types and Image::Magick is installed.
=cut =cut
sub getThumbnail { sub getThumbnail {
if (isIn($_[0]->getType, qw(jpg jpeg gif png))) { if ($hasImageMagick && isIn($_[0]->getType, qw(jpg jpeg gif png))) {
return $_[0]->{_node}->getURL.'/thumb-'.$_[0]->getFilename; return $_[0]->{_node}->getURL.'/thumb-'.$_[0]->getFilename;
} elsif (isIn($_[0]->getType, qw(tif tiff bmp))) { } elsif ($hasImageMagick && isIn($_[0]->getType, qw(tif tiff bmp))) {
return $_[0]->{_node}->getURL.'/thumb-'.$_[0]->getFilename.'.png'; return $_[0]->{_node}->getURL.'/thumb-'.$_[0]->getFilename.'.png';
} else { } else {
return ""; return "";

View file

@ -17,7 +17,7 @@ use URI::Escape ();
use Data::Config (); use Data::Config ();
use Date::Calc (); use Date::Calc ();
use HTML::CalendarMonthSimple (); use HTML::CalendarMonthSimple ();
use Image::Magick (); eval "use Image::Magick ();"; # eval, may not be installed
use Tie::CPHash (); use Tie::CPHash ();
use Tie::IxHash (); use Tie::IxHash ();
use Net::LDAP (); use Net::LDAP ();

View file

@ -232,7 +232,7 @@ if (eval { require Image::Magick }) {
print "Installing...\n"; print "Installing...\n";
CPAN::Shell->install("Image::Magick"); CPAN::Shell->install("Image::Magick");
} else { } else {
print "Please install.\n"; print "Please install. (or Thumbnailing will be disabled)\n";
$prereq = 0; $prereq = 0;
} }
} }