use C4::Search; # enabled_staff_search_views
use C4::VirtualShelves;
use C4::XSLT;
+use C4::Images;
# use Smart::Comments;
}
}
+if ( C4::Context->preference("LocalCoverImages") == 1 ) {
+ my @images = ListImagesForBiblio($biblionumber);
+ $template->{VARS}->{localimages} = \@images;
+}
+
# Get OPAC URL
if (C4::Context->preference('OPACBaseURL')){
$template->param( OpacUrl => C4::Context->preference('OPACBaseURL') );
--- /dev/null
+#!/usr/bin/perl
+#
+# based on patronimage.pl
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+#
+#
+
+use strict;
+use warnings;
+
+use CGI; #qw(:standard escapeHTML);
+use C4::Context;
+use C4::Images;
+
+$|=1;
+
+my $DEBUG = 1;
+my $data = new CGI;
+my $imagenumber;
+
+=head1 NAME
+
+image.pl - Script for retrieving and formatting local cover images for display
+
+=head1 SYNOPSIS
+
+<img src="image.pl?imagenumber=X" />
+<img src="image.pl?biblionumber=X" />
+<img src="image.pl?imagenumber=X&thumbnail=1" />
+<img src="image.pl?biblionumber=X&thumbnail=1" />
+
+=head1 DESCRIPTION
+
+This script, when called from within HTML and passed a valid imagenumber or
+biblionumber, will retrieve the image data associated with that biblionumber
+if one exists, format it in proper HTML format and pass it back to be displayed.
+If the parameter thumbnail has been provided, a thumbnail will be returned
+rather than the full-size image. When a biblionumber is provided rather than an
+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();
+ }
+} 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'};
+ }
+ 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();
+
+sub error {
+ print $data->header ( -status=> '404', -expires => 'now' );
+ exit;
+}
+
+=head1 AUTHOR
+
+Chris Nighswonger cnighswonger <at> foundations <dot> edu
+
+modified for local cover images by Koustubha Kale kmkale <at> anantcorp <dot> com
+
+=cut
--- /dev/null
+#!/usr/bin/perl
+
+# Copyright 2011 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+
+use CGI;
+use C4::Auth;
+use C4::Biblio;
+use C4::Output;
+use C4::Images;
+
+my $query = new CGI;
+my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
+ {
+ template_name => "catalogue/imageviewer.tmpl",
+ query => $query,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => { catalogue => 1 },
+ }
+);
+
+my $biblionumber = $query->param('biblionumber') || $query->param('bib');
+my ($count, $biblio) = GetBiblio($biblionumber);
+
+if (C4::Context->preference("LocalCoverImages")) {
+ my @images = ListImagesForBiblio($biblionumber);
+ $template->{VARS}->{'LocalCoverImages'} = 1;
+ $template->{VARS}->{'images'} = \@images;
+}
+
+$template->{VARS}->{'biblio'} = $biblio;
+
+output_html_with_http_headers $query, $cookie, $template->output;
font-weight: bold;
text-align : center;
}
-
+.localimage {
+ padding: .3em;
+}
[% IF ( virtualshelves || intranetbookbag ) %]
<script type="text/javascript" language="javascript" src="[% themelang %]/js/basket.js"></script>
[% END %]
+[% IF LocalCoverImages %]
+<script type="text/javascript" language="javascript" src="[% themelang %]/js/localcovers.js"></script>
+<script type="text/javascript" language="javascript">
+//<![CDATA[
+var NO_LOCAL_JACKET = _("No cover image available");
+//]]>
+</script>
+[% END %]
--- /dev/null
+if (typeof KOHA == "undefined" || !KOHA) {
+ var KOHA = {};
+}
+
+/**
+ * A namespace for local cover related functions.
+ */
+KOHA.LocalCover = {
+
+
+ /**
+ * Search all:
+ * <div title="biblionumber" id="isbn" class="openlibrary-thumbnail"></div>
+ * or
+ * <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
+ * and run a search with all collected isbns to Open Library Book Search.
+ * The result is asynchronously returned by OpenLibrary and catched by
+ * olCallBack().
+ */
+ GetCoverFromBibnumber: function(uselink) {
+ $("div [id^=local-thumbnail]").each(function(i) {
+ var mydiv = this;
+ var message = document.createElement("span");
+ $(message).attr("class","no-image");
+ $(message).html(NO_LOCAL_JACKET);
+ $(mydiv).append(message);
+ var img = $("<img />").attr('src',
+ '/cgi-bin/koha/catalogue/image.pl?thumbnail=1&biblionumber=' + $(mydiv).attr("class"))
+ .load(function () {
+ if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
+ } else {
+ if (uselink) {
+ var a = $("<a />").attr('href', '/cgi-bin/koha/catalogue/imageviewer.pl?biblionumber=' + $(mydiv).attr("class"));
+ $(a).append(img);
+ $(mydiv).append(a);
+ } else {
+ $(mydiv).append(img);
+ }
+ $(mydiv).children('.no-image').remove();
+ }
+ })
+ });
+ }
+};
[% IF ( subscriptionsnumber ) %]<li><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]#subscriptions">Subscriptions</a></li>[% END %]
[% IF ( FRBRizeEditions ) %][% IF ( XISBNS ) %]<li><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]#editions">Editions</a></li>[% END %][% END %]
[% IF ( AmazonSimilarItems ) %]<li><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]#related">Related Titles</a></li>[% END %]
+[% IF ( LocalCoverImages ) %]<li><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]#images">Images</a></li>[% END %]
</ul>
<div id="holdings">
</div>
[% END %][% END %]
+[% IF ( LocalCoverImages ) %]
+<div id="images">
+<div>Click on an image to view it in the image viewer</div>
+[% FOREACH image IN localimages %]
+[% IF image %]
+<span class="localimage"><a href="/cgi-bin/koha/catalogue/imageviewer.pl?biblionumber=[% biblionumber %]&imagenumber=[% image %]"><img alt="img" src="/cgi-bin/koha/catalogue/image.pl?thumbnail=1&imagenumber=[% image %]" /></a></span>
+[% END %]
+[% END %]
+</div>
+[% END %]
+
</div><!-- /bibliodetails -->
<div class="yui-g" id="export" style="margin-top: 1em;">
--- /dev/null
+[% INCLUDE 'doc-head-open.inc' %]
+[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog › Images for: [% biblio.title |html %]
+[% INCLUDE 'doc-head-close.inc' %]
+<script type="text/JavaScript" language="JavaScript">
+//<![CDATA[
+
+$(document).ready(function(){
+ showCover($('.thumbnail').attr('id'));
+});
+
+function showCover(img) {
+ $('.thumbnail').attr('class', 'thumbnail');
+ $('#largeCoverImg').attr('src', '/cgi-bin/koha/catalogue/image.pl?imagenumber=' + img);
+ $('#' + img + '.thumbnail').attr('class', 'thumbnail selected');
+}
+//]]>
+</script>
+<style type="text/css">
+img.thumbnail {
+ border-style: solid;
+ border-width: 3px;
+ border-color: white;
+}
+
+img.selected {
+ border-color: black;
+}
+</style>
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
+<body id="imageviewer">
+<div id="largeCover"><img id="largeCoverImg" alt="Large view" /></div>
+[% IF LocalCoverImages == 1 %]
+[% FOREACH img IN images %]
+[% IF img %]
+<a href='#' onclick='showCover([% img %])'><img class='thumbnail' id='[% img %]' src='/cgi-bin/koha/catalogue/image.pl?imagenumber=[% img %]&thumbnail=1' alt='Image'/></a>
+[% END %]
+[% END %]
+[% biblio.title %] [% biblio.author %]
+[% ELSE %]
+Unfortunately, images are not enabled for this catalog at this time.
+[% END %]
+</body>
+</html>
<legend>Options</legend>
<ol>
<li class="checkbox">
- <input type="checkbox" id="replace" name="replace" [% IF AllowMultipleCovers == 0 %]checked="checked" disabled="disabled"[% END %] />
+ <input type="checkbox" id="replace" name="replace" [% IF AllowMultipleCovers == 0 %]checked="checked" disabled="disabled"[% END %] value="1" />
<label for="replace">Replace existing covers</label>
</li>
</ol>
</script>
[% END %]
+[% IF OPACLocalCoverImages %]
+<script type="text/javascript" language="javascript" src="[% themelang %]/js/localcovers.js"></script>
+<script type="text/javascript" language="javascript">
+//<![CDATA[
+var NO_LOCAL_JACKET = _("No cover image available");
+//]]>
+</script>
+[% END %]
+
[% IF ( BakerTaylorEnabled ) %]<script type="text/javascript" language="javascript" src="[% themelang %]/js/bakertaylorimages.js"></script>
<script type="text/javascript" language="javascript">
//<![CDATA[
--- /dev/null
+if (typeof KOHA == "undefined" || !KOHA) {
+ var KOHA = {};
+}
+
+/**
+ * A namespace for local cover related functions.
+ */
+KOHA.LocalCover = {
+
+
+ /**
+ * Search all:
+ * <div title="biblionumber" id="isbn" class="openlibrary-thumbnail"></div>
+ * or
+ * <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
+ * and run a search with all collected isbns to Open Library Book Search.
+ * The result is asynchronously returned by OpenLibrary and catched by
+ * olCallBack().
+ */
+ GetCoverFromBibnumber: function(uselink) {
+ $("div [id^=local-thumbnail]").each(function(i) {
+ var mydiv = this;
+ var message = document.createElement("span");
+ $(message).attr("class","no-image");
+ $(message).html(NO_LOCAL_JACKET);
+ $(mydiv).append(message);
+ var img = $("<img />").attr('src',
+ '/cgi-bin/koha/opac-image.pl?thumbnail=1&biblionumber=' + $(mydiv).attr("class"))
+ .load(function () {
+ if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
+ } else {
+ if (uselink) {
+ var a = $("<a />").attr('href', '/cgi-bin/koha/opac-imageviewer.pl?biblionumber=' + $(mydiv).attr("class"));
+ $(a).append(img);
+ $(mydiv).append(a);
+ } else {
+ $(mydiv).append(img);
+ }
+ $(mydiv).children('.no-image').remove();
+ }
+ })
+ });
+ }
+};
[% IF OpenLibraryCovers %]
KOHA.OpenLibrary.GetCoverFromIsbn();
[% END %]
+ [% IF OPACLocalCoverImages %]
+ KOHA.LocalCover.GetCoverFromBibnumber(true);
+ [% END %]
[% IF ( NovelistSelectProfile ) %]
novSelect.loadContentForISBN('[% normalized_isbn %]','[% NovelistSelectProfile %]', '[% NovelistSelectPassword %]', function(d){});
[% END %]
<div id="catalogue_detail_biblio">
<div id="bookcover">
+ [% IF ( OPACLocalCoverImages ) %]<div style="block" title="[% biblionumber |url %]" class="[% biblionumber %]" id="local-thumbnail-preview"></div>[% END %]
[% IF ( OPACAmazonEnabled ) %][% IF ( OPACAmazonCoverImages ) %][% IF ( OPACurlOpenInNewWindow ) %]<a href="http://www.amazon[% AmazonTld %]/gp/reader/[% normalized_isbn %]/ref=sib_dp_pt/002-7879865-0184864#reader-link" target="_blank"><img border="0" src="http://images.amazon.com/images/P/[% normalized_isbn %].01.MZZZZZZZ.jpg" alt="Cover Image" /></a>[% ELSE %]<a href="http://www.amazon[% AmazonTld %]/gp/reader/[% normalized_isbn %]/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img border="0" src="http://images.amazon.com/images/P/[% normalized_isbn %].01.MZZZZZZZ.jpg" alt="Cover Image" /></a>[% END %][% END %][% END %]
[% IF ( SyndeticsEnabled ) %][% IF ( SyndeticsCoverImages ) %][% IF ( content_identifier_exists ) %][% IF ( using_https ) %]
[% ELSE %]<li>[% END %]
<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblionumber %]#serialcollection">Serial Collection</a></li>
[% END %]
+
+ [% IF ( OPACLocalCoverImages ) %]<li><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblionumber %]#images">Images</a></li>[% END %]
</ul>
[% IF ( serialcollection ) %]
[% END %]
+[% IF ( OPACLocalCoverImages ) %]
+<div id="images">
+<div>Click on an image to view it in the image viewer</div>
+[% FOREACH image IN localimages %]
+[% IF image %]
+<span class="localimage"><a href="/cgi-bin/koha/opac-imageviewer.pl?biblionumber=[% biblionumber %]&imagenumber=[% image %]"><img alt="img" src="/cgi-bin/koha/opac-image.pl?thumbnail=1&imagenumber=[% image %]" /></a></span>
+[% END %]
+[% END %]
+</div>
+[% END %]
+
+
</div>
[% IF ( NovelistSelectProfile ) %][% IF ( NovelistSelectView == 'below' ) %]
<div id="NovelistSelect">
--- /dev/null
+[% INCLUDE 'doc-head-open.inc' %]
+[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog › Images for: [% biblio.title |html %]
+[% INCLUDE 'doc-head-close.inc' %]
+<script type="text/JavaScript" language="JavaScript">
+//<![CDATA[
+
+$(document).ready(function(){
+ showCover($('.thumbnail').attr('id'));
+});
+
+function showCover(img) {
+ $('.thumbnail').attr('class', 'thumbnail');
+ $('#largeCoverImg').attr('src', '/cgi-bin/koha/opac-image.pl?imagenumber=' + img);
+ $('#' + img + '.thumbnail').attr('class', 'thumbnail selected');
+}
+//]]>
+</script>
+<style type="text/css">
+img.thumbnail {
+ border-style: solid;
+ border-width: 3px;
+ border-color: white;
+}
+
+img.selected {
+ border-color: black;
+}
+</style>
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
+<body id="opac-imageviewer">
+<div id="largeCover"><img id="largeCoverImg" alt="Large view" /></div>
+[% IF OPACLocalCoverImages == 1 %]
+[% FOREACH img IN images %]
+[% IF img %]
+<a href='#' onclick='showCover([% img %])'><img class='thumbnail' id='[% img %]' src='/cgi-bin/koha/opac-image.pl?imagenumber=[% img %]&thumbnail=1' alt='Image'/></a>
+[% END %]
+[% END %]
+[% biblio.title %] [% biblio.author %]
+[% ELSE %]
+Unfortunately, images are not enabled for this catalog at this time.
+[% END %]
+</body>
+</html>
[% END %]
[% END %][% END %]
[% IF OpenLibraryCovers %]KOHA.OpenLibrary.GetCoverFromIsbn();[% END %]
+ [% IF OPACLocalCoverImages %]KOHA.LocalCover.GetCoverFromBibnumber(false);[% END %]
[% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
});
//]]>
</span>
</td><td>
<a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">
+ [% IF ( OPACLocalCoverImages ) %]<div style="block" title="[% SEARCH_RESULT.biblionumber |url %]" class="[% SEARCH_RESULT.biblionumber %]" id="local-thumbnail[% loop.count %]"></div>[% END %]
[% IF ( OPACAmazonEnabled ) %][% IF ( OPACAmazonCoverImages ) %][% IF ( SEARCH_RESULT.normalized_isbn ) %]<img src="http://images.amazon.com/images/P/[% SEARCH_RESULT.normalized_isbn %].01.TZZZZZZZ.jpg" alt="" class="thumbnail" />[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %][% END %]
[% IF ( SyndeticsEnabled ) %][% IF ( SyndeticsCoverImages ) %][% IF ( using_https ) %]
use MARC::Record;
use MARC::Field;
use List::MoreUtils qw/any none/;
+use C4::Images;
BEGIN {
if (C4::Context->preference('BakerTaylorEnabled')) {
serialcollections => \@serialcollections);
}
+# Local cover Images stuff
+if (C4::Context->preference("OPACLocalCoverImages")){
+ $template->param(OPACLocalCoverImages => 1);
+}
+
# Amazon.com Stuff
if ( C4::Context->preference("OPACAmazonEnabled") ) {
$template->param( AmazonTld => get_amazon_tld() );
? 'serialcollection' : 'subscription';
$template->param('defaulttab' => $defaulttab);
+if (C4::Context->preference('OPACLocalCoverImages') == 1) {
+ my @images = ListImagesForBiblio($biblionumber);
+ $template->{VARS}->{localimages} = \@images;
+}
+
output_html_with_http_headers $query, $cookie, $template->output;
--- /dev/null
+#!/usr/bin/perl
+#
+# based on patronimage.pl
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+#
+#
+
+use strict;
+use warnings;
+
+use CGI; #qw(:standard escapeHTML);
+use C4::Context;
+use C4::Images;
+
+$|=1;
+
+my $DEBUG = 1;
+my $data = new CGI;
+my $imagenumber;
+
+=head1 NAME
+
+opac-image.pl - Script for retrieving and formatting local cover images for display
+
+=head1 SYNOPSIS
+
+<img src="opac-image.pl?imagenumber=X" />
+<img src="opac-image.pl?biblionumber=X" />
+<img src="opac-image.pl?imagenumber=X&thumbnail=1" />
+<img src="opac-image.pl?biblionumber=X&thumbnail=1" />
+
+=head1 DESCRIPTION
+
+This script, when called from within HTML and passed a valid imagenumber or
+biblionumber, will retrieve the image data associated with that biblionumber
+if one exists, format it in proper HTML format and pass it back to be displayed.
+If the parameter thumbnail has been provided, a thumbnail will be returned
+rather than the full-size image. When a biblionumber is provided rather than an
+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();
+ }
+} 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'};
+ }
+ 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();
+
+sub error {
+ print $data->header ( -status=> '404', -expires => 'now' );
+ exit;
+}
+
+=head1 AUTHOR
+
+Chris Nighswonger cnighswonger <at> foundations <dot> edu
+
+modified for local cover images by Koustubha Kale kmkale <at> anantcorp <dot> com
+
+=cut
--- /dev/null
+#!/usr/bin/perl
+
+# Copyright 2011 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+
+use CGI;
+use C4::Auth;
+use C4::Biblio;
+use C4::Output;
+use C4::Images;
+
+my $query = new CGI;
+my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
+ {
+ template_name => "opac-imageviewer.tmpl",
+ query => $query,
+ type => "opac",
+ authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ),
+ flagsrequired => { borrow => 1 },
+ }
+);
+
+my $biblionumber = $query->param('biblionumber') || $query->param('bib');
+my ($count, $biblio) = GetBiblio($biblionumber);
+
+if (C4::Context->preference("OPACLocalCoverImages")) {
+ my @images = ListImagesForBiblio($biblionumber);
+ $template->{VARS}->{'OPACLocalCoverImages'} = 1;
+ $template->{VARS}->{'images'} = \@images;
+}
+
+$template->{VARS}->{'biblio'} = $biblio;
+
+output_html_with_http_headers $query, $cookie, $template->output;
$template->param(SEARCH_RESULTS => \@newresults,
OPACItemsResultsDisplay => (C4::Context->preference("OPACItemsResultsDisplay") eq "itemdetails"?1:0),
);
+ if (C4::Context->preference("OPACLocalCoverImages")){
+ $template->param(OPACLocalCoverImages => 1);
+ $template->param(OPACLocalCoverImagesPriority => C4::Context->preference("OPACLocalCoverImagesPriority"));
+ }
## Build the page numbers on the bottom of the page
my @page_numbers;
# total number of pages there will be
my $filetype = $input->param('filetype');
my $biblionumber = $input->param('biblionumber');
my $uploadfilename = $input->param('uploadfile');
-my $replace = $input->param('replace');
+my $replace = !C4::Context->preference("AllowMultipleCovers") || $input->param('replace');
my $op = $input->param('op');
my %cookies = parse CGI::Cookie($cookie);
my $sessionID = $cookies{'CGISESSID'}->value;
my $total = 0;
+
if ($fileID) {
my $uploaded_file = C4::UploadedFile->fetch($sessionID, $fileID);
if ($filetype eq 'image') {