X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=opac%2Fopac-image.pl;h=e2dc5569dbbb9ee88dad15dd2cd04b6aa71a00a9;hb=091a74de4c0fb6b0ff948eb716808dfc009a1207;hp=444c127ced5b0636f10e709c87fc02ef356f5b9a;hpb=eff760b352a8b8722ac454663a7bcb6f97826d38;p=koha_fer diff --git a/opac/opac-image.pl b/opac/opac-image.pl index 444c127ced..e2dc5569db 100755 --- a/opac/opac-image.pl +++ b/opac/opac-image.pl @@ -1,5 +1,8 @@ #!/usr/bin/perl # +# Copyright (C) 2011 C & P Bibliography Services +# Jared Camins-Esakov +# # based on patronimage.pl # # This file is part of Koha. @@ -23,14 +26,14 @@ use strict; use warnings; -use CGI; #qw(:standard escapeHTML); +use CGI; use C4::Context; use C4::Images; -$|=1; +$| = 1; my $DEBUG = 0; -my $data = new CGI; +my $data = new CGI; my $imagenumber; =head1 NAME @@ -55,49 +58,43 @@ imagenumber, a random image is selected. =cut -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'}; - } else { - $image = $imagedata->{'imagefile'}; + 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; } - 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(); } -} else { - error(); -} - -error(); + else { + $imagenumber = shift; + } -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