Fixes for Bug 926 (forms lack method and/or action attributes). Also hiding 'delete...
[koha.git] / detail.pl
index 5e0f4c3..4e2a8d1 100755 (executable)
--- a/detail.pl
+++ b/detail.pl
 #!/usr/bin/perl
-
-# 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 HTML::Template;
 use strict;
 require Exporter;
-use C4::Database;
-use C4::Output;  # contains picktemplate
 use CGI;
 use C4::Search;
-my $query=new CGI;
-
-
-my $language='french';
-
+use C4::Auth;
+use C4::Bull; #uses getsubscriptionfrom biblionumber
+use C4::Interface::CGI::Output;
+use HTML::Template;
+use C4::Biblio;
+use C4::SearchMarc;
 
-my %configfile;
-open (KC, "/etc/koha.conf");
-while (<KC>) {
- chomp;
- (next) if (/^\s*#/);
- if (/(.*)\s*=\s*(.*)/) {
-   my $variable=$1;
-   my $value=$2;
-   # Clean up white space at beginning and end
-   $variable=~s/^\s*//g;
-   $variable=~s/\s*$//g;
-   $value=~s/^\s*//g;
-   $value=~s/\s*$//g;
-   $configfile{$variable}=$value;
-}
-}      
+my $query=new CGI;
+my ($template, $borrowernumber, $cookie) 
+    = get_template_and_user({template_name => "catalogue/detail.tmpl",
+                            query => $query,
+                            type => "intranet",
+                            authnotrequired => 1,
+                            flagsrequired => {borrow => 1},
+                            });
 
-my $biblionumber=$query->param('bib');
-my $type='intra';
+my $biblionumber=$query->param('biblionumber');
+$template->param(biblionumber => $biblionumber);
 
 
 # change back when ive fixed request.pl
-my @items = ItemInfo(undef, $biblionumber, $type);
-my $norequests = 1;
-foreach my $itm (@items) {
-     $norequests = 0 unless $itm->{'notforloan'};
-}
-
-warn "Biblionumber: $biblionumber";
-warn "Norequests: $norequests"; 
-
-
-my $dat=bibdata($biblionumber);
-my ($authorcount, $addauthor)= &addauthor($biblionumber);
+my @items                                 = &ItemInfo(undef, $biblionumber, 'intra');
+my $dat                                   = &bibdata($biblionumber);
+my ($authorcount, $addauthor)             = &addauthor($biblionumber);
 my ($webbiblioitemcount, @webbiblioitems) = &getwebbiblioitems($biblionumber);
 my ($websitecount, @websites)             = &getwebsites($biblionumber);
+my $subscriptionsnumber = getsubscriptionfrombiblionumber($biblionumber);
 
 $dat->{'count'}=@items;
 
 $dat->{'additional'}=$addauthor->[0]->{'author'};
 for (my $i = 1; $i < $authorcount; $i++) {
-        $dat->{'additional'} .= "|" . $addauthor->[$i]->{'author'};
+        $dat->{'additional'} .= " ; " . $addauthor->[$i]->{'author'};
 } # for
 
-my @results;
+my $norequests = 1;
+foreach my $itm (@items) {
+    $norequests = 0 unless $itm->{'notforloan'};
+    $itm->{$itm->{'publictype'}} = 1;
+}
+
+$template->param(norequests => $norequests);
+
+  ## get notes and subjects from MARC record
+my $marc = C4::Context->preference("marc");
+if ($marc eq "yes") {
+       my $dbh = C4::Context->dbh;
+       my $marcflavour = C4::Context->preference("marcflavour");
+       my $marcnotesarray = &getMARCnotes($dbh,$biblionumber,$marcflavour);
+       my $marcsubjctsarray = &getMARCsubjects($dbh,$biblionumber,$marcflavour);
 
-$results[0]=$dat;
+       $template->param(MARCNOTES => $marcnotesarray);
+       $template->param(MARCSUBJCTS => $marcsubjctsarray);
+}
+
+my @results = ($dat,);
 
 my $resultsarray=\@results;
 my $itemsarray=\@items;
 my $webarray=\@webbiblioitems;
 my $sitearray=\@websites;
 
-my $includes=$configfile{'includes'};
-($includes) || ($includes="/usr/local/www/hdl/htdocs/includes");
-my $templatebase="catalogue/detail.tmpl";
-my $startfrom=$query->param('startfrom');
-($startfrom) || ($startfrom=0);
-my $theme=picktemplate($includes, $templatebase);
-
-my $template = HTML::Template->new(filename => "$includes/templates/$theme/$templatebase", die_on_bad_params => 0, path => [$includes]);
-
-my $count=1;
-
-# now to get the items into a hash we can use and whack that thru
-
-
-$template->param(startfrom => $startfrom+1);
-$template->param(endat => $startfrom+20);
-$template->param(numrecords => $count);
-my $nextstartfrom=($startfrom+20<$count-20) ? ($startfrom+20) : ($count-20);
-my $prevstartfrom=($startfrom-20>0) ? ($startfrom-20) : (0);
-$template->param(nextstartfrom => $nextstartfrom);
-$template->param(prevstartfrom => $prevstartfrom);
-# $template->param(template => $templatename);
-# $template->param(search => $search);
-$template->param(includesdir => $includes);
-$template->param(BIBLIO_RESULTS => $resultsarray);
-$template->param(ITEM_RESULTS => $itemsarray);
-$template->param(norequests => $norequests);
-$template->param(WEB_RESULTS => $webarray);
-$template->param(SITE_RESULTS => $sitearray);
-print "Content-Type: text/html\n\n", $template->output;
+$template->param(BIBLIO_RESULTS => $resultsarray,
+                               ITEM_RESULTS => $itemsarray,
+                               WEB_RESULTS => $webarray,
+                               SITE_RESULTS => $sitearray,
+                               subscriptionsnumber => $subscriptionsnumber,
+);
 
+output_html_with_http_headers $query, $cookie, $template->output;