Bug 16011: $VERSION - Remove the $VERSION init
[koha.git] / C4 / Print.pm
1 package C4::Print;
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
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # Koha is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with Koha; if not, see <http://www.gnu.org/licenses>.
19
20 use strict;
21 #use warnings; FIXME - Bug 2505
22 use C4::Context;
23
24 use vars qw(@ISA @EXPORT);
25
26 BEGIN {
27         # set the version for version checking
28         require Exporter;
29         @ISA    = qw(Exporter);
30     @EXPORT = qw(&NetworkPrint);
31 }
32
33 =head1 NAME
34
35 C4::Print - Koha module dealing with printing
36
37 =head1 SYNOPSIS
38
39   use C4::Print;
40
41 =head1 DESCRIPTION
42
43 The functions in this module handle sending text to a printer.
44
45 =head1 FUNCTIONS
46
47 =head2 NetworkPrint
48
49   &NetworkPrint($text)
50
51 Queue some text for printing on the selected branch printer
52
53 =cut
54
55 sub NetworkPrint {
56     my ($text) = @_;
57
58 # FIXME - It'd be nifty if this could generate pretty PostScript.
59
60     my $queue = '';
61
62     # FIXME - If 'queue' is undefined or empty, then presumably it should
63     # mean "use the default queue", whatever the default is. Presumably
64     # the default depends on the physical location of the machine.
65     # FIXME - Perhaps "print to file" should be a supported option. Just
66     # set the queue to "file" (or " file", if real queues aren't allowed
67     # to have spaces in them). Or perhaps if $queue eq "" and
68     # $env->{file} ne "", then that should mean "print to $env->{file}".
69
70     my $fh;
71     if ( $queue eq "" || $queue eq 'nulllp' ) {
72         return;
73         #open( $fh, ">/tmp/kohaiss" );
74     }
75     else {
76
77         # FIXME - This assumes that 'lpr' exists, and works as expected.
78         # This is a reasonable assumption, but only because every other
79         # printing package has a wrapper script called 'lpr'. It'd still
80         # be better to be able to customize this.
81         open( $fh, "-|", "lpr -P $queue > /dev/null" )
82           or die "Couldn't write to queue:$queue!\n";
83     }
84
85     #  print $queue;
86     #open (FILE,">/tmp/$file");
87     print $fh $text;
88     print $fh "\r\n" x 7 ;
89     close $fh;
90
91     #system("lpr /tmp/$file");
92 }
93
94 1;
95 __END__
96
97 =head1 AUTHOR
98
99 Koha Development Team <http://koha-community.org/>
100
101 =head1 SEE ALSO
102
103 C4::Circulation::Circ2(3)
104
105 =cut