use CGI;
use C4::Context;
use C4::Output;
-use C4::Search;
-use HTML::Template;
use C4::Auth;
-use C4::Interface::CGI::Output;
sub StringSearch {
- my ($env,$searchstring,$type)=@_;
- my $dbh = C4::Context->dbh;
+ my ($searchstring,$type)=@_; # why bother with $type if we don't use it?!
$searchstring=~ s/\'/\\\'/g;
my @data=split(' ',$searchstring);
- my $count=@data;
- my $query="Select printername,printqueue,printtype from printers where (printername like \"$data[0]%\") order by printername";
- my $sth=$dbh->prepare($query);
- $sth->execute;
+ my $sth = C4::Context->dbh->prepare("
+ SELECT printername,printqueue,printtype from printers
+ WHERE (printername like ?) order by printername
+ ");
+ $sth->execute("$data[0]%");
my @results;
my $cnt=0;
while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
- $cnt ++;
+ push(@results,$data);
+ $cnt ++;
}
# $sth->execute;
$sth->finish;
my $input = new CGI;
my $searchfield=$input->param('searchfield');
-my $pkfield="printername";
-my $reqsel="select printername,printqueue,printtype from printers where $pkfield='$searchfield'";
-my $reqdel="delete from printers where $pkfield='$searchfield'";
+my $pkfield="";
+my $reqsel="";
+my $reqdel="";
#my $branchcode=$input->param('branchcode');
my $offset=$input->param('offset');
my $script_name="/cgi-bin/koha/admin/printers.pl";
my $op = $input->param('op');
$searchfield=~ s/\,//g;
-my ($template, $loggedinuser, $cookie)
- = get_template_and_user({template_name => "parameters/printers.tmpl",
- query => $input,
- type => "intranet",
- authnotrequired => 0,
- debug => 1,
- });
+my ($template, $loggedinuser, $cookie) = get_template_and_user({
+ template_name => "admin/printers.tmpl",
+ query => $input,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => {parameters => 1},
+ debug => 1,
+});
$template->param(searchfield => $searchfield,
my $data;
if ($searchfield) {
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("select printername,printqueue,printtype from printers where printername='$searchfield'");
- $sth->execute;
+ my $sth=$dbh->prepare("SELECT printername,printqueue,printtype from printers where printername=?");
+ $sth->execute($searchfield);
$data=$sth->fetchrow_hashref;
$sth->finish;
}
} elsif ($op eq 'add_validate') {
$template->param(add_validate => 1);
my $dbh = C4::Context->dbh;
- my $query = "replace printers (printername,printqueue,printtype) values (";
- $query.= $dbh->quote($input->param('printername')).",";
- $query.= $dbh->quote($input->param('printqueue')).",";
- $query.= $dbh->quote($input->param('printtype')).")";
- my $sth=$dbh->prepare($query);
- $sth->execute;
- $sth->finish;
+ if ($input->param('add')){
+ my $sth=$dbh->prepare("INSERT INTO printers (printername,printqueue,printtype) VALUES (?,?,?)");
+ $sth->execute($input->param('printername'),$input->param('printqueue'),$input->param('printtype'));
+ $sth->finish;
+ }
+ else {
+ my $sth=$dbh->prepare("UPDATE printers SET printqueue=?,printtype=? WHERE printername=?");
+ $sth->execute($input->param('printqueue'),$input->param('printtype'),$input->param('printername'));
+ $sth->finish;
+ }
# END $OP eq ADD_VALIDATE
################## DELETE_CONFIRM ##################################
# called by default form, used to confirm deletion of data in DB
} elsif ($op eq 'delete_confirm') {
$template->param(delete_confirm => 1);
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare($reqsel);
- $sth->execute;
+ my $sth=$dbh->prepare("select printername,printqueue,printtype from printers where printername=?");
+ $sth->execute($searchfield);
my $data=$sth->fetchrow_hashref;
$sth->finish;
$template->param(printqueue => $data->{'printqueue'},
$template->param(delete_confirmed => 1);
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare($reqdel);
- $sth->execute;
+ my $sth=$dbh->prepare("delete from printers where printername=?");
+ $sth->execute($searchfield);
$sth->finish;
# END $OP eq DELETE_CONFIRMED
################## DEFAULT ##################################
} else { # DEFAULT
$template->param(else => 1);
-
- my $env;
- my ($count,$results)=StringSearch($env,$searchfield,'web');
+ my ($count,$results)=StringSearch($searchfield,'web');
my $toggle="white";
my @loop;
for (my $i=$offset; $i < ($offset+$pagesize<$count?$offset+$pagesize:$count); $i++){
my %row = ( printername => $results->[$i]{'printername'},
printqueue => $results->[$i]{'printqueue'},
- printtype => $results->[$i]{'printtype'});
+ printtype => $results->[$i]{'printtype'},
+ toggle => $toggle);
push @loop, \%row;
+ $toggle = ($toggle eq 'white') ? '#ffffcc' : 'white';
}
$template->param(loop => \@loop);
$template->param(offsetgtzero => 1,
prevpage => $offset-$pagesize);
}
- print " ";
+ print " " x 6;
if ($offset+$pagesize<$count) {
$template->param(ltcount => 1,
nextpage => $offset+$pagesize);