Added two missing required Perl modules.
[koha.git] / detail.pl
1 #!/usr/bin/perl
2
3 # Copyright 2000-2002 Katipo Communications
4 #
5 # This file is part of Koha.
6 #
7 # Koha is free software; you can redistribute it and/or modify it under the
8 # terms of the GNU General Public License as published by the Free Software
9 # Foundation; either version 2 of the License, or (at your option) any later
10 # version.
11 #
12 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License along with
17 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
18 # Suite 330, Boston, MA  02111-1307 USA
19
20 use HTML::Template;
21 use strict;
22 require Exporter;
23 use C4::Database;
24 use C4::Output;  # contains picktemplate
25 use CGI;
26 use C4::Search;
27  
28 my $query=new CGI;
29
30
31 my $language='french';
32
33
34 my %configfile;
35 open (KC, "/etc/koha.conf");
36 while (<KC>) {
37  chomp;
38  (next) if (/^\s*#/);
39  if (/(.*)\s*=\s*(.*)/) {
40    my $variable=$1;
41    my $value=$2;
42    # Clean up white space at beginning and end
43    $variable=~s/^\s*//g;
44    $variable=~s/\s*$//g;
45    $value=~s/^\s*//g;
46    $value=~s/\s*$//g;
47    $configfile{$variable}=$value;
48 }
49 }       
50
51 my $biblionumber=$query->param('bib');
52 my $type='intra';
53
54
55 # change back when ive fixed request.pl
56 my @items = ItemInfo(undef, $biblionumber, $type);
57 my $norequests = 1;
58 foreach my $itm (@items) {
59      $norequests = 0 unless $itm->{'notforloan'};
60 }
61
62
63 warn "Biblionumber: $biblionumber";
64 warn "Norequests: $norequests"; 
65
66
67 my $dat=bibdata($biblionumber);
68 my ($authorcount, $addauthor)= &addauthor($biblionumber);
69 my ($webbiblioitemcount, @webbiblioitems) = &getwebbiblioitems($biblionumber);
70 my ($websitecount, @websites)             = &getwebsites($biblionumber);
71
72 $dat->{'count'}=@items;
73 $dat->{'norequests'} = $norequests;
74
75 $dat->{'additional'}=$addauthor->[0]->{'author'};
76 for (my $i = 1; $i < $authorcount; $i++) {
77         $dat->{'additional'} .= "|" . $addauthor->[$i]->{'author'};
78 } # for
79
80 my @results;
81
82 $results[0]=$dat;
83
84 my $resultsarray=\@results;
85 my $itemsarray=\@items;
86 my $webarray=\@webbiblioitems;
87 my $sitearray=\@websites;
88
89 my $includes=$configfile{'includes'};
90 ($includes) || ($includes="/usr/local/www/hdl/htdocs/includes");
91 my $templatebase="catalogue/detail.tmpl";
92 my $startfrom=$query->param('startfrom');
93 ($startfrom) || ($startfrom=0);
94 my $theme=picktemplate($includes, $templatebase);
95
96 my $template = HTML::Template->new(filename => "$includes/templates/$theme/$templatebase", die_on_bad_params => 0, path => [$includes]);
97
98 my $count=1;
99
100 # now to get the items into a hash we can use and whack that thru
101
102
103 $template->param(startfrom => $startfrom+1);
104 $template->param(endat => $startfrom+20);
105 $template->param(numrecords => $count);
106 my $nextstartfrom=($startfrom+20<$count-20) ? ($startfrom+20) : ($count-20);
107 my $prevstartfrom=($startfrom-20>0) ? ($startfrom-20) : (0);
108 $template->param(nextstartfrom => $nextstartfrom);
109 $template->param(prevstartfrom => $prevstartfrom);
110 # $template->param(template => $templatename);
111 # $template->param(search => $search);
112 $template->param(includesdir => $includes);
113 $template->param(BIBLIO_RESULTS => $resultsarray);
114 $template->param(ITEM_RESULTS => $itemsarray);
115 $template->param(WEB_RESULTS => $webarray);
116 $template->param(SITE_RESULTS => $sitearray);
117 print "Content-Type: text/html\n\n", $template->output;
118