X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=opac%2Fopac-image.pl;h=e2dc5569dbbb9ee88dad15dd2cd04b6aa71a00a9;hb=0f6882896d6a806fb474b1fd172e3e93919d960c;hp=340a47cdfacc12028785cabb4e2c8d7517ee7526;hpb=bd28b8d6c3ab15ae278d7d9eddc73e3af786e87f;p=koha.git diff --git a/opac/opac-image.pl b/opac/opac-image.pl index 340a47cdfa..e2dc5569db 100755 --- a/opac/opac-image.pl +++ b/opac/opac-image.pl @@ -58,62 +58,43 @@ imagenumber, a random image is selected. =cut -error() unless C4::Context->preference("OPACLocalCoverImages"); - -if ( defined $data->param('imagenumber') ) { - $imagenumber = $data->param('imagenumber'); -} -elsif ( defined $data->param('biblionumber') ) { - my @imagenumbers = ListImagesForBiblio( $data->param('biblionumber') ); - if (@imagenumbers) { - $imagenumber = $imagenumbers[0]; - } - else { - warn "No images for this biblio" if $DEBUG; - error(); +my ( $image, $mimetype ) = C4::Images->NoImage; +if ( C4::Context->preference("OPACLocalCoverImages") ) { + if ( defined $data->param('imagenumber') ) { + $imagenumber = $data->param('imagenumber'); } -} -else { - $imagenumber = shift; -} - -if ($imagenumber) { - warn "imagenumber passed in: $imagenumber" if $DEBUG; - my $imagedata = RetrieveImage($imagenumber); - - error() unless $imagedata; - - if ($imagedata) { - my $image; - if ( $data->param('thumbnail') ) { - $image = $imagedata->{'thumbnail'}; + elsif ( defined $data->param('biblionumber') ) { + my @imagenumbers = ListImagesForBiblio( $data->param('biblionumber') ); + if (@imagenumbers) { + $imagenumber = $imagenumbers[0]; } else { - $image = $imagedata->{'imagefile'}; + warn "No images for this biblio" if $DEBUG; } - print $data->header( - -type => $imagedata->{'mimetype'}, - -'Cache-Control' => 'no-store', - -expires => 'now', - -Content_Length => length($image) - ), $image; - exit; } else { - warn "No image exists for $imagenumber" if $DEBUG; - error(); + $imagenumber = shift; } -} -else { - error(); -} -error(); - -sub error { - print $data->header( -status => '404', -expires => 'now' ); - exit; + if ($imagenumber) { + warn "imagenumber passed in: $imagenumber" if $DEBUG; + my $imagedata = RetrieveImage($imagenumber); + if ($imagedata) { + if ( $data->param('thumbnail') ) { + $image = $imagedata->{'thumbnail'}; + } + else { + $image = $imagedata->{'imagefile'}; + } + $mimetype = $imagedata->{'mimetype'}; + } + } } +print $data->header( + -type => $mimetype, + -expires => '+30m', + -Content_Length => length($image) +), $image; =head1 AUTHOR