X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=admin%2Fz3950servers.pl;h=44b3967f7a185f5446ca4232cf71beedd34082e7;hb=5f2e1ba7b14b226cbe23438116d77be710dd88b0;hp=9f9308e8b72bca0b9a4b9bb9ad0c97e774b293f8;hpb=100e6a9808ead4ee8d951da59ead1550e75bb4c3;p=koha_fer diff --git a/admin/z3950servers.pl b/admin/z3950servers.pl index 9f9308e8b7..44b3967f7a 100755 --- a/admin/z3950servers.pl +++ b/admin/z3950servers.pl @@ -5,7 +5,7 @@ # This software is placed under the gnu General Public License, v2 (http://www.gnu.org/licenses/gpl.html) # ALGO : -# this script use an $op to know what to do. +# this script use ano $op to know what to do. # if $op is empty or none of the above values, # - the default screen is build (with all records, or filtered datas). # - the user can clic on add, modify or delete record. @@ -20,6 +20,7 @@ # - we delete the record having primkey=$primkey use strict; +#use warnings; FIXME - Bug 2505 use CGI; use C4::Context; use C4::Auth; @@ -31,7 +32,7 @@ sub StringSearch { $searchstring=~ s/\'/\\\'/g; my @data=split(' ',$searchstring); my $count=@data; - my $sth=$dbh->prepare("Select host,port,db,userid,password,name,id,checked,rank,syntax from z3950servers where (name like ?) order by rank,name"); + my $sth=$dbh->prepare("Select host,port,db,userid,password,name,id,checked,rank,syntax,encoding from z3950servers where (name like ?) order by rank,name"); $sth->execute("$data[0]\%"); my @results; while (my $data=$sth->fetchrow_hashref) { @@ -73,19 +74,15 @@ if ($op eq 'add_form') { my $data; if ($searchfield) { my $dbh = C4::Context->dbh; - my $sth=$dbh->prepare("select host,port,db,userid,password,name,id,checked,rank,syntax from z3950servers where (name = ?) order by rank,name"); + my $sth=$dbh->prepare("select host,port,db,userid,password,name,id,checked,rank,syntax,encoding from z3950servers where (name = ?) order by rank,name"); $sth->execute($searchfield); $data=$sth->fetchrow_hashref; $sth->finish; } - - $template->param(host => $data->{'host'}, - port => $data->{'port'}, - db => $data->{'db'}, - userid => $data->{'userid'}, - password => $data->{'password'}, - checked => $data->{'checked'}, - rank => $data->{'rank'}); + $template->param( $_ => $data->{$_} ) + for ( qw( host port db userid password checked rank ) ); + $template->param( $_ . $data->{$_} => 1) + for ( qw( syntax encoding ) ); # END $OP eq ADD_FORM ################## ADD_VALIDATE ################################## # called by add_form, used to insert/modify data in DB @@ -95,7 +92,7 @@ if ($op eq 'add_form') { my $sth=$dbh->prepare("select * from z3950servers where name=?"); $sth->execute($input->param('searchfield')); if ($sth->rows) { - $sth=$dbh->prepare("update z3950servers set host=?, port=?, db=?, userid=?, password=?, name=?, checked=?, rank=?,syntax=? where name=?"); + $sth=$dbh->prepare("update z3950servers set host=?, port=?, db=?, userid=?, password=?, name=?, checked=?, rank=?,syntax=?,encoding=? where name=?"); $sth->execute($input->param('host'), $input->param('port'), $input->param('db'), @@ -104,21 +101,27 @@ if ($op eq 'add_form') { $input->param('searchfield'), $input->param('checked'), $input->param('rank'), - $input->param('syntax'), + $input->param('syntax'), + $input->param('encoding'), $input->param('searchfield'), ); - } else { - $sth=$dbh->prepare("insert into z3950servers (host,port,db,userid,password,name,checked,rank,syntax) values (?, ?, ?, ?, ?, ?, ?, ?,?)"); - $sth->execute($input->param('host'), - $input->param('port'), - $input->param('db'), - $input->param('userid'), - $input->param('password'), - $input->param('searchfield'), - $input->param('checked'), - $input->param('rank'), - $input->param('syntax'), - ); + } + else { + $sth=$dbh->prepare( + "INSERT INTO z3950servers " . + "(host,port,db,userid,password,name,checked,rank,syntax,encoding) " . + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" ); + $sth->execute( + $input->param( 'host' ), + $input->param( 'port' ), + $input->param( 'db' ), + $input->param( 'userid' ), + $input->param( 'password' ), + $input->param( 'searchfield' ), + $input->param( 'checked' ), + $input->param( 'rank' ), + $input->param( 'syntax' ), + $input->param( 'encoding' ) ); } $sth->finish; # END $OP eq ADD_VALIDATE @@ -128,7 +131,7 @@ if ($op eq 'add_form') { $template->param(delete_confirm => 1); my $dbh = C4::Context->dbh; - my $sth2=$dbh->prepare("select host,port,db,userid,password,name,id,checked,rank,syntax from z3950servers where (name = ?) order by rank,name"); + my $sth2=$dbh->prepare("select host,port,db,userid,password,name,id,checked,rank,syntax,encoding from z3950servers where (name = ?) order by rank,name"); $sth2->execute($searchfield); my $data=$sth2->fetchrow_hashref; $sth2->finish; @@ -139,7 +142,9 @@ if ($op eq 'add_form') { userid => $data->{'userid'}, password => $data->{'password'}, checked => $data->{'checked'}, - rank => $data->{'rank'}); + rank => $data->{'rank'}, + syntax => $data->{'syntax'}, + encoding => $data->{'encoding'} ); # END $OP eq DELETE_CONFIRM ################## DELETE_CONFIRMED ################################## @@ -156,7 +161,6 @@ if ($op eq 'add_form') { $template->param(else => 1); my ($count,$results)=StringSearch($searchfield,'web'); my @loop; - my $toggle = 0; for (my $i=$offset; $i < ($offset+$pagesize<$count?$offset+$pagesize:$count); $i++){ my $urlsearchfield=$results->[$i]{name}; @@ -170,18 +174,9 @@ if ($op eq 'add_form') { checked => $results->[$i]{'checked'}, rank => $results->[$i]{'rank'}, syntax => $results->[$i]{'syntax'}, - toggle => $toggle); + encoding => $results->[$i]{'encoding'}); push @loop, \%row; - if ( $toggle eq 0 ) - { - $toggle = 1; - } - else - { - $toggle = 0; - } - } $template->param(loop => \@loop); if ($offset>0) { @@ -193,8 +188,4 @@ if ($op eq 'add_form') { nextpage => $offset+$pagesize); } } #---- END $OP eq DEFAULT -$template->param(intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"), - intranetstylesheet => C4::Context->preference("intranetstylesheet"), - IntranetNav => C4::Context->preference("IntranetNav"), - ); output_html_with_http_headers $input, $cookie, $template->output;