"Fossies" - the Fresh Open Source Software Archive 
Member "koha-19.11.15/admin/printers.pl" (23 Feb 2021, 5157 Bytes) of package /linux/misc/koha-19.11.15.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Perl source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "printers.pl" see the
Fossies "Dox" file reference documentation.
1 #!/usr/bin/perl
2
3 #script to administer the aqbudget table
4 #written 20/02/2002 by paul.poulain@free.fr
5 # This software is placed under the gnu General Public License, v2 (http://www.gnu.org/licenses/gpl.html)
6
7 # ALGO :
8 # this script use an $op to know what to do.
9 # if $op is empty or none of the above values,
10 # - the default screen is build (with all records, or filtered datas).
11 # - the user can clic on add, modify or delete record.
12 # if $op=add_form
13 # - if primkey exists, this is a modification,so we read the $primkey record
14 # - builds the add/modify form
15 # if $op=add_validate
16 # - the user has just send datas, so we create/modify the record
17 # if $op=delete_form
18 # - we show the record having primkey=$primkey and ask for deletion validation form
19 # if $op=delete_confirm
20 # - we delete the record having primkey=$primkey
21
22
23 # Copyright 2000-2002 Katipo Communications
24 #
25 # This file is part of Koha.
26 #
27 # Koha is free software; you can redistribute it and/or modify it
28 # under the terms of the GNU General Public License as published by
29 # the Free Software Foundation; either version 3 of the License, or
30 # (at your option) any later version.
31 #
32 # Koha is distributed in the hope that it will be useful, but
33 # WITHOUT ANY WARRANTY; without even the implied warranty of
34 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
35 # GNU General Public License for more details.
36 #
37 # You should have received a copy of the GNU General Public License
38 # along with Koha; if not, see <http://www.gnu.org/licenses>.
39
40 use Modern::Perl;
41 use CGI qw ( -utf8 );
42 use C4::Context;
43 use C4::Output;
44 use C4::Auth;
45
46 sub StringSearch {
47 my ($searchstring,$type)=@_; # why bother with $type if we don't use it?!
48 $searchstring=~ s/\'/\\\'/g;
49 my @data=split(' ',$searchstring);
50 my $sth = C4::Context->dbh->prepare("
51 SELECT printername,printqueue,printtype from printers
52 WHERE (printername like ?) order by printername
53 ");
54 $sth->execute("$data[0]%");
55 my $data=$sth->fetchall_arrayref({});
56 return (scalar(@$data),$data);
57 }
58
59 my $input = new CGI;
60 my $searchfield=$input->param('searchfield');
61 #my $branchcode=$input->param('branchcode');
62 my $script_name="/cgi-bin/koha/admin/printers.pl";
63
64 my $op = $input->param('op');
65 $searchfield=~ s/\,//g;
66
67 my ($template, $loggedinuser, $cookie) = get_template_and_user(
68 {
69 template_name => "admin/printers.tt",
70 query => $input,
71 type => "intranet",
72 authnotrequired => 0,
73 flagsrequired => {parameters => '*'},
74 debug => 1,
75 }
76 );
77
78 $template->param(searchfield => $searchfield,
79 script_name => $script_name);
80
81 #start the page and read in includes
82
83 my $dbh = C4::Context->dbh;
84 ################## ADD_FORM ##################################
85 # called by default. Used to create form to add or modify a record
86 if ($op eq 'add_form') {
87 $template->param(add_form => 1);
88 #---- if primkey exists, it's a modify action, so read values to modify...
89 my $data;
90 if ($searchfield) {
91 my $sth=$dbh->prepare("SELECT printername,printqueue,printtype from printers where printername=?");
92 $sth->execute($searchfield);
93 $data=$sth->fetchrow_hashref;
94 }
95
96 $template->param(printqueue => $data->{'printqueue'},
97 printtype => $data->{'printtype'});
98 # END $OP eq ADD_FORM
99 ################## ADD_VALIDATE ##################################
100 # called by add_form, used to insert/modify data in DB
101 } elsif ($op eq 'add_validate') {
102 $template->param(add_validate => 1);
103 if ($input->param('add')){
104 my $sth=$dbh->prepare("INSERT INTO printers (printername,printqueue,printtype) VALUES (?,?,?)");
105 $sth->execute($input->param('printername'),$input->param('printqueue'),$input->param('printtype'));
106 } else {
107 my $sth=$dbh->prepare("UPDATE printers SET printqueue=?,printtype=? WHERE printername=?");
108 $sth->execute($input->param('printqueue'),$input->param('printtype'),$input->param('printername'));
109 }
110 # END $OP eq ADD_VALIDATE
111 ################## DELETE_CONFIRM ##################################
112 # called by default form, used to confirm deletion of data in DB
113 } elsif ($op eq 'delete_confirm') {
114 $template->param(delete_confirm => 1);
115 my $sth=$dbh->prepare("select printername,printqueue,printtype from printers where printername=?");
116 $sth->execute($searchfield);
117 my $data=$sth->fetchrow_hashref;
118 $template->param(printqueue => $data->{'printqueue'},
119 printtype => $data->{'printtype'});
120 # END $OP eq DELETE_CONFIRM
121 ################## DELETE_CONFIRMED ##################################
122 # called by delete_confirm, used to effectively confirm deletion of data in DB
123 } elsif ($op eq 'delete_confirmed') {
124 $template->param(delete_confirmed => 1);
125 my $sth=$dbh->prepare("delete from printers where printername=?");
126 $sth->execute($searchfield);
127 # END $OP eq DELETE_CONFIRMED
128 ################## DEFAULT ###########################################
129 } else { # DEFAULT
130 $template->param(else => 1);
131 my ($count,$results)=StringSearch($searchfield,'web');
132 $template->param(loop => $results);
133
134 } #---- END $OP eq DEFAULT
135
136 output_html_with_http_headers $input, $cookie, $template->output;
137