templating mancredit and maninvoice
[koha.git] / bookcount.pl
index f73b566..74fd1ad 100755 (executable)
@@ -1,5 +1,7 @@
 #!/usr/bin/perl
 
+# $Id$
+
 #written 7/3/2002 by Finlay
 #script to display reports
 
 
 use strict;
 use CGI;
+use C4::Context;
 use C4::Search;
 use C4::Circulation::Circ2;
 use C4::Output;
+use HTML::Template;
 
 # get all the data ....
 my %env;
@@ -56,110 +60,81 @@ if (not $lastmove) {
     $count = issuessince($itm ,$lastdate);
 }
 
+# make the page ...
+my $template = gettemplate("bookcount.tmpl");
 
-# make the page ... 
-print $input->header;
-
-
-print startpage;
-print startmenu('report');
-print center;
-
-print <<"EOF";
-<br>
-<FONT SIZE=6><em><a href=/cgi-bin/koha/detail.pl?bib=$bib&type=intra>$data->{'title'} ($data->{'author'})</a></em></FONT><P>
-<p>
-<img src="/images/holder.gif" width=16 height=200 align=left>
-<TABLE  CELLSPACING=0  CELLPADDING=5 border=1 width=440 >
-  <TR VALIGN=TOP><td  bgcolor="99cc33" background="/images/background-mem.gif">
-  <B>BARCODE $idata->{'barcode'}</b></TD>
-</TR>
-<TR VALIGN=TOP  >
-<TD width=440 >
-
-<b>Home Branch: </b> $homebranch <br>
-<b>Current Branch: </b> $holdingbranch<br>
-<b>Date arrived at current branch: </b> $lastdate <br>
-<b>Number of issues since since the above date :</b> $count <br>
-
-<table cellspacing =0 cellpadding=5 border=1 width = 440>
-<TR><TD > <b>Branch</b></td>  <TD >   <b>No. of Issues</b></td>   <td><b>Last seen at branch</b></td></TR>
-EOF
+my @branchloop;
 
 foreach my $branchcode (keys %$branches) {
-    my $issues = issuesat($itm, $branchcode);
+       my %linebranch;
+    $linebranch{issues} = issuesat($itm, $branchcode);
     my $date = lastseenat($itm, $branchcode);
-    my $seen = slashdate($date);
-    print << "EOF";
-<TR><TD > <b>$branches->{$branchcode}->{'branchname'}</b></td>
-<TD >    <b> $issues </b></td>             <td><b> $seen</b></td></TR>
-EOF
+    $linebranch{seen} = slashdate($date);
+       $linebranch{branchname}=$branches->{$branchcode}->{'branchname'};
+       push(@branchloop,\%linebranch);
 }
-print <<"EOF";
-</table>
-</TR>
-
-</table>
-EOF
-
 
-print endmenu('report');
-print endpage;
+$template->param(      bib => $bib,
+                                                               title => $data->{'title'},
+                                                               author => $data->{'author'},
+                                                               barcode => $idata->{'barcode'},
+                                                               homebranch =>$homebranch,
+                                                               holdingbranch => $holdingbranch,
+                                                               lastdate =>  $lastdate,
+                                                               count =>  $count,
+                                                               branchloop => \@branchloop);
 
+print "Content-Type: text/html\n\n", $template->output;
 
 ##############################################
 # This stuff should probably go into C4::Search
 # database includes
 use DBI;
-use C4::Database;
 
 sub itemdatanum {
     my ($itemnumber)=@_;
-    my $dbh=C4Connect;
+    my $dbh = C4::Context->dbh;
     my $itm = $dbh->quote("$itemnumber");
     my $query = "select * from items where itemnumber=$itm";
     my $sth=$dbh->prepare($query);
     $sth->execute;
     my $data=$sth->fetchrow_hashref;
     $sth->finish;
-    $dbh->disconnect;
     return($data);
 }
 
 sub lastmove {
       my ($itemnumber)=@_;
-      my $dbh=C4Connect;
+      my $dbh = C4::Context->dbh;
       my $var1 = $dbh->quote($itemnumber);
       my $sth =$dbh->prepare("select max(branchtransfers.datearrived) from branchtransfers where branchtransfers.itemnumber=$var1");
       $sth->execute;
       my ($date) = $sth->fetchrow_array;
       return(0, "Item has no branch transfers record") if not $date;
-      my $var2 = $dbh->quote($date);      
+      my $var2 = $dbh->quote($date);
       $sth=$dbh->prepare("Select * from branchtransfers where branchtransfers.itemnumber=$var1 and branchtransfers.datearrived=$var2");
       $sth->execute;
       my ($data) = $sth->fetchrow_hashref;
       return(0, "Item has no branch transfers record") if not $data;
       $sth->finish;
-      $dbh->disconnect;
       return($data,"");
  }
 
 sub issuessince {
       my ($itemnumber, $date)=@_;
-      my $dbh=C4Connect;
+      my $dbh = C4::Context->dbh;
       my $itm = $dbh->quote($itemnumber);
       my $dat = $dbh->quote($date);
       my $sth=$dbh->prepare("Select count(*) from issues where issues.itemnumber=$itm and issues.timestamp > $dat");
       $sth->execute;
       my $count=$sth->fetchrow_hashref;
       $sth->finish;
-      $dbh->disconnect;
       return($count->{'count(*)'});
 }
 
 sub issuesat {
       my ($itemnumber, $brcd)=@_;
-      my $dbh=C4Connect;
+      my $dbh = C4::Context->dbh;
       my $itm = $dbh->quote($itemnumber);
       my $brc = $dbh->quote($brcd);
       my $query = "Select count(*) from issues where itemnumber=$itm and branchcode = $brc";
@@ -167,13 +142,12 @@ sub issuesat {
       $sth->execute;
       my ($count)=$sth->fetchrow_array;
       $sth->finish;
-      $dbh->disconnect;
       return($count);
 }
 
 sub lastseenat {
       my ($itemnumber, $brcd)=@_;
-      my $dbh=C4Connect;
+      my $dbh = C4::Context->dbh;
       my $itm = $dbh->quote($itemnumber);
       my $brc = $dbh->quote($brcd);
       my $query = "Select max(timestamp) from issues where itemnumber=$itm and branchcode = $brc";
@@ -182,11 +156,11 @@ sub lastseenat {
       my ($date1)=$sth->fetchrow_array;
       $sth->finish;
       $query = "Select max(datearrived) from branchtransfers where itemnumber=$itm and tobranch = $brc";
+      # FIXME - There's already a $sth in this scope.
       my $sth=$dbh->prepare($query);
       $sth->execute;
       my ($date2)=$sth->fetchrow_array;
       $sth->finish;
-      $dbh->disconnect;
       $date2 =~ s/-//g;
       $date2 =~ s/://g;
       $date2 =~ s/ //g;