Resynching Savannah
[koha.git] / catalogue / detail.pl
1 #!/usr/bin/perl
2 use strict;
3 require Exporter;
4 use C4::Search;
5 use C4::Auth;
6 use C4::Serials; #uses getsubscriptionfrom biblionumber
7 use C4::Interface::CGI::Output;
8 use CGI;
9 use C4::Biblio;
10 use C4::Context;
11
12 my $dbh=C4::Context->dbh;
13 my $query=new CGI;
14 my ($template, $borrowernumber, $cookie) 
15     = get_template_and_user({template_name => "catalogue/detail.tmpl",
16                              query => $query,
17                              type => "intranet",
18                              authnotrequired => 1,
19                              flagsrequired => {borrow => 1},
20                              });
21
22 my $biblionumber=$query->param('biblionumber');
23 $template->param(biblionumber => $biblionumber);
24 my $retrieve_from=C4::Context->preference('retrieve_from');
25 my ($record,$frameworkcode);
26 my @itemrecords;
27 my @items;
28 if ($retrieve_from eq "zebra"){
29 ($record,@itemrecords)=ZEBRAgetrecord($biblionumber);
30 }else{
31  $record =XMLgetbiblio($dbh,$biblionumber);
32 $record=XML_xml2hash_onerecord($record);
33 my @itemxmls=XMLgetallitems($dbh,$biblionumber);
34         foreach my $itemrecord(@itemxmls){
35         my $itemhash=XML_xml2hash_onerecord($itemrecord);
36         push @itemrecords, $itemhash;
37         }
38 }       
39
40 my $dat = XMLmarc2koha_onerecord($dbh,$record,"biblios");
41 my $norequests = 1;
42 foreach my $itemrecord (@itemrecords){
43
44 my $item= XMLmarc2koha_onerecord($dbh,$itemrecord,"holdings");
45 $item=ItemInfo($dbh,$item);
46 $item->{itemtype}=$dat->{itemtype};
47   $norequests = 0 unless $item->{'notforloan'};
48    $item->{$item->{'publictype'}} = 1; ## NOT sure what this is kept from old db probably useless now
49 push @items,$item;
50 }
51
52 my $subscriptionsnumber = GetSubscriptionsFromBiblionumber($biblionumber);
53
54 $dat->{'count'}=@items;
55 $template->param(count =>$dat->{'count'});
56 $template->param(norequests => $norequests);
57
58   ## get notes subjects and URLS from MARC record
59         
60         my $marcflavour = C4::Context->preference("marcflavour");
61         my $marcnotesarray = &getMARCnotes($dbh,$record,$marcflavour);
62         my $marcsubjctsarray = &getMARCsubjects($dbh,$record,$marcflavour);
63         my $marcurlssarray = &getMARCurls($dbh,$record,$marcflavour);
64         $template->param(MARCURLS => $marcurlssarray);
65         $template->param(MARCNOTES => $marcnotesarray);
66         $template->param(MARCSUBJCTS => $marcsubjctsarray);
67
68
69 my @results = ($dat,);
70
71 my $resultsarray=\@results;
72 my $itemsarray=\@items;
73
74
75 $template->param(BIBLIO_RESULTS => $resultsarray,
76                                 ITEM_RESULTS => $itemsarray,
77                                 subscriptionsnumber => $subscriptionsnumber,
78 );
79
80 output_html_with_http_headers $query, $cookie, $template->output;