Koha/catalogue/detailprint.pl
2006-11-15 01:41:51 +00:00

98 lines
3.2 KiB
Perl
Executable file

#!/usr/bin/perl
# NOTE: Use standard 8-space tabs for this file (indents are 4 spaces)
# Copyright 2000-2002 Katipo Communications
#
# 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., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
use strict;
require Exporter;
use C4::Search;
use C4::Auth;
use C4::Serials; #uses getsubscriptionfrom biblionumber
use C4::Interface::CGI::Output;
use CGI;
use C4::Biblio;
use C4::Context;
my $dbh=C4::Context->dbh;
my $query=new CGI;
my ($template, $borrowernumber, $cookie)
= get_template_and_user({template_name => "catalogue/detailprint.tmpl",
query => $query,
type => "intranet",
authnotrequired => 1,
flagsrequired => {borrow => 1},
});
my $biblionumber=$query->param('biblionumber');
$template->param(biblionumber => $biblionumber);
my $retrieve_from=C4::Context->preference('retrieve_from');
my ($record,$frameworkcode);
my @itemrecords;
my @items;
if ($retrieve_from eq "zebra"){
($record,@itemrecords)=ZEBRAgetrecord($biblionumber);
}else{
$record =XMLgetbiblio($dbh,$biblionumber);
$record=XML_xml2hash_onerecord($record);
my @itemxmls=XMLgetallitems($dbh,$biblionumber);
foreach my $itemrecord(@itemxmls){
my $itemhash=XML_xml2hash_onerecord($itemrecord);
push @itemrecords, $itemhash;
}
}
my $dat = XMLmarc2koha_onerecord($dbh,$record,"biblios");
my $norequests = 1;
foreach my $itemrecord (@itemrecords){
my $item= XMLmarc2koha_onerecord($dbh,$itemrecord,"holdings");
$item=ItemInfo($dbh,$item);
$item->{itemtype}=$dat->{itemtype};
$norequests = 0 unless $item->{'notforloan'};
$item->{$item->{'publictype'}} = 1; ## NOT sure what this is kept from old db probably useless now
push @items,$item;
}
my $subscriptionsnumber = GetSubscriptionsFromBiblionumber($biblionumber);
$dat->{'count'}=@items;
$template->param(count =>$dat->{'count'});
$template->param(norequests => $norequests);
## get notes subjects and URLS from MARC record
my $marcflavour = C4::Context->preference("marcflavour");
my $marcnotesarray = &getMARCnotes($dbh,$record,$marcflavour);
my $marcsubjctsarray = &getMARCsubjects($dbh,$record,$marcflavour);
my $marcurlssarray = &getMARCurls($dbh,$record,$marcflavour);
$template->param(MARCURLS => $marcurlssarray);
$template->param(MARCNOTES => $marcnotesarray);
$template->param(MARCSUBJCTS => $marcsubjctsarray);
my @results = ($dat,);
my $resultsarray=\@results;
my $itemsarray=\@items;
$template->param(BIBLIO_RESULTS => $resultsarray,
ITEM_RESULTS => $itemsarray,
subscriptionsnumber => $subscriptionsnumber,
);
output_html_with_http_headers $query, $cookie, $template->output;