Koha/opac/opac-patron-image.pl
Owen Leonard b5e27d047c Bug 3516 [REVISED] Display picture of patrons in OPAC
This patch adapts the patron image display script from the
self-checkout module to optionally display the image of the
logged-in user on their personal information page (opac-userupdate.pl).
The script changes the method choosing which image to display
from using a passed cardnumber to using the borrowernumber of
the logged-in user.

A system preference is added, OPACpatronimages, to control
whether these images are displayed.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Verified that patron image shows only when system preference is turned on
and that there are no display problems for patrons without patron image.
2012-03-05 17:12:16 +01:00

57 lines
1.8 KiB
Perl
Executable file

#!/usr/bin/perl
#
# Copyright 2009 LibLime
# Parts copyright 2012 Athens County Public Libraries
#
# 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 C4::Members;
use C4::Auth;
my $query = new CGI;
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
{
template_name => "opac-userupdate.tt",
query => $query,
type => "opac",
authnotrequired => 0,
flagsrequired => { borrow => 1 },
debug => 1,
}
);
unless (C4::Context->preference('OPACpatronimages')) {
print $query->header(status => '403 Forbidden - displaying patron images in the OPAC not enabled');
exit;
}
my ($borrower)=GetMember('borrowernumber' => $borrowernumber);
my $cardnumber = $borrower->{'cardnumber'};
my ($imagedata, $dberror) = GetPatronImage($cardnumber);
if ($dberror) {
print $query->header(status => '500 internal error');
}
if ($imagedata) {
print $query->header(-type => $imagedata->{'mimetype'},
-Content_Length => length ($imagedata->{'imagefile'})),
$imagedata->{'imagefile'};
} else {
print $query->header(status => '404 patron image not found');
}