"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