X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FPrint.pm;h=c0b37c8a12f992db66fe525536773d52f94e90d0;hb=53a7fb7ba383e6925198fb1a69bdcabd3b8d858c;hp=2a599a9ecb7c284c7fe9c958954065e604207acc;hpb=51e0e140c2d21175eb35a564cfd4c91d2a87bcc3;p=koha_gimpoz diff --git a/C4/Print.pm b/C4/Print.pm index 2a599a9ecb..c0b37c8a12 100644 --- a/C4/Print.pm +++ b/C4/Print.pm @@ -1,76 +1,58 @@ -package C4::Print; #assumes C4/Print.pm +package C4::Print; + +# 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; -require Exporter; -#use C4::InterfaceCDK; +#use warnings; FIXME - Bug 2505 +use C4::Context; use vars qw($VERSION @ISA @EXPORT); -# set the version for version checking -$VERSION = 0.01; - -@ISA = qw(Exporter); -@EXPORT = qw(&remoteprint &printreserve &printslip); - -sub remoteprint { - my ($env,$items,$borrower)=@_; - #open (FILE,">/tmp/olwen"); - #print FILE "queue $env->{'queue'}"; - #close FILE; - #debug_msg($env,"In print"); - my $file=time; - my $queue = $env->{'queue'}; - if ($queue eq "" || $queue eq 'nulllp') { - open (PRINTER,">/tmp/kohaiss"); - } else { - open(PRINTER, "| lpr -P $queue") or die "Couldn't write to queue:$queue!\n"; - } -# print $queue; - #open (FILE,">/tmp/$file"); - my $i=0; - my $brdata = $env->{'brdata'}; - print PRINTER "Horowhenua Library Trust\r\n"; -# print PRINTER "$brdata->{'branchname'}\r\n"; - print PRINTER "Phone: 368-1953\r\n"; - print PRINTER "Fax: 367-9218\r\n"; - print PRINTER "Email: renewals\@library.org.nz\r\n\r\n\r\n"; - print PRINTER "$borrower->{'cardnumber'}\r\n"; - print PRINTER "$borrower->{'title'} $borrower->{'initials'} $borrower->{'surname'}\r\n"; - while ($items->[$i]){ -# print $i; - my $itemdata = $items->[$i]; - print PRINTER "$i $itemdata->{'title'}\r\n"; - print PRINTER "$itemdata->{'barcode'}"; - print PRINTER " "x15; - print PRINTER "$itemdata->{'date_due'}\r\n"; - $i++; - } - print PRINTER "\r\n\r\n\r\n\r\n\r\n\r\n\r\n"; - if ($env->{'printtype'} eq "docket"){ - #print chr(27).chr(105); - } - close PRINTER; - #system("lpr /tmp/$file"); +BEGIN { + # set the version for version checking + $VERSION = 3.01; + require Exporter; + @ISA = qw(Exporter); + @EXPORT = qw(&printslip); } -sub printreserve { - my($env, $branchname, $bordata, $itemdata)=@_; - my $file=time; - my $printer = $env->{'printer'}; - if ($printer eq "" || $printer eq 'nulllp') { - open (PRINTER,">>/tmp/kohares"); - } else { - open (PRINTER, "| lpr -P $printer") or die "Couldn't write to queue:$!\n"; - } - my @da = localtime(time()); - my $todaysdate = "$da[2]:$da[1] $da[3]/$da[4]/$da[5]"; - -#(1900+$datearr[5]).sprintf ("%0.2d", ($datearr[4]+1)).sprintf ("%0.2d", $datearr[3]); - my $slip = <<"EOF"; +=head1 NAME + +C4::Print - Koha module dealing with printing + +=head1 SYNOPSIS + + use C4::Print; + +=head1 DESCRIPTION + +The functions in this module handle sending text to a printer. + +=head1 FUNCTIONS + +=cut + +=for comment + my $slip = <<"EOF"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Date: $todaysdate; -ITEM RESERVED: +ITEM RESERVED: $itemdata->{'title'} ($itemdata->{'author'}) barcode: $itemdata->{'barcode'} @@ -88,23 +70,64 @@ $bordata->{'emailaddress'} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EOF +=cut + +=head2 printslip + + &printslip($slip) + +print a slip for the given $borrowernumber and $branchcode + +=cut + +sub printslip ($) { + my ($slip) = @_; + + return unless ( C4::Context->boolean_preference('printcirculationslips') ); + +# FIXME - It'd be nifty if this could generate pretty PostScript. + + my $queue = ''; + + # FIXME - If 'queue' is undefined or empty, then presumably it should + # mean "use the default queue", whatever the default is. Presumably + # the default depends on the physical location of the machine. + # FIXME - Perhaps "print to file" should be a supported option. Just + # set the queue to "file" (or " file", if real queues aren't allowed + # to have spaces in them). Or perhaps if $queue eq "" and + # $env->{file} ne "", then that should mean "print to $env->{file}". + if ( $queue eq "" || $queue eq 'nulllp' ) { + return; + #open( PRINTER, ">/tmp/kohaiss" ); + } + else { + + # FIXME - This assumes that 'lpr' exists, and works as expected. + # This is a reasonable assumption, but only because every other + # printing package has a wrapper script called 'lpr'. It'd still + # be better to be able to customize this. + open( PRINTER, "| lpr -P $queue > /dev/null" ) + or die "Couldn't write to queue:$queue!\n"; + } + + # print $queue; + #open (FILE,">/tmp/$file"); print PRINTER $slip; - close PRINTER; - return $slip; -} + print PRINTER "\r\n" x 7 ; + close PRINTER; -sub printslip { - my($env, $slip)=@_; - my $printer = $env->{'printer'}; - if ($printer eq "" || $printer eq 'nulllp') { - open (PRINTER,">/tmp/kohares"); - } else { - open (PRINTER, "| lpr -P $printer") or die "Couldn't write to queue:$!\n"; - } - print PRINTER $slip; - close PRINTER; + #system("lpr /tmp/$file"); } -END { } # module clean-up code here (global destructor) - - +1; +__END__ + +=head1 AUTHOR + +Koha Development Team + +=head1 SEE ALSO + +C4::Circulation::Circ2(3) + +=cut