X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=admin%2Fz3950servers.pl;h=1dbd1189ce9c6c17e21e4184b22d2506720ce02a;hb=568f32606c2c9c247b2b477193a2d6814f738fa6;hp=d6044fc45415ce33050eeb864778e768f3e209b2;hpb=31a0ed0a43bb4ecfde0b762eb6e654c51da6f66e;p=koha.git diff --git a/admin/z3950servers.pl b/admin/z3950servers.pl index d6044fc454..1dbd1189ce 100755 --- a/admin/z3950servers.pl +++ b/admin/z3950servers.pl @@ -40,7 +40,7 @@ sub StringSearch { $searchstring = ''; } - my $query = "SELECT host,port,db,userid,password,name,id,checked,rank,syntax,encoding,timeout"; + my $query = "SELECT host,port,db,userid,password,name,id,checked,rank,syntax,encoding,timeout,recordtype"; $query .= " FROM z3950servers"; if ( $searchstring ne '' ) { $query .= " WHERE (name like ?)" } $query .= " ORDER BY rank,name"; @@ -53,13 +53,12 @@ sub StringSearch { $sth->execute; } - my @results; - while (my $data=$sth->fetchrow_hashref) { - push(@results,$data); - } - $sth->finish; - $dbh->disconnect; - return (scalar(@results),\@results); + my @results; + while (my $data=$sth->fetchrow_hashref) { + push(@results,$data); + } + $sth->finish; + return (scalar(@results),\@results); } my $input = new CGI; @@ -86,32 +85,35 @@ $template->param(script_name => $script_name, ################## ADD_FORM ################################## # called by default. Used to create form to add or modify a record -if ($op eq 'add_form') { - $template->param(add_form => 1); - #---- if primkey exists, it's a modify action, so read values to modify... - my $data; - if ($searchfield) { - my $dbh = C4::Context->dbh; - my $sth=$dbh->prepare("select host,port,db,userid,password,name,id,checked,rank,syntax,encoding,timeout from z3950servers where (name = ?) order by rank,name"); - $sth->execute($searchfield); - $data=$sth->fetchrow_hashref; - $sth->finish; - } - $template->param( $_ => $data->{$_} ) - for ( qw( host port db userid password checked rank timeout ) ); - $template->param( $_ . $data->{$_} => 1) - for ( qw( syntax encoding ) ); - # END $OP eq ADD_FORM +if ( $op eq 'add_form' ) { + $template->param( add_form => 1 ); + + #---- if primkey exists, it's a modify action, so read values to modify... + my $data; + if ($searchfield) { + my $dbh = C4::Context->dbh; + my $sth = $dbh->prepare( +"select host,port,db,userid,password,name,id,checked,rank,syntax,encoding,timeout,recordtype from z3950servers where (name = ?) order by rank,name" + ); + $sth->execute($searchfield); + $data = $sth->fetchrow_hashref; + $sth->finish; + } + $template->param( $_ => $data->{$_} ) + for (qw( host port db userid password checked rank timeout encoding )); + $template->param( $_ . $data->{$_} => 1 ) for (qw( syntax recordtype )); + + # END $OP eq ADD_FORM ################## ADD_VALIDATE ################################## -# called by add_form, used to insert/modify data in DB + # called by add_form, used to insert/modify data in DB } elsif ($op eq 'add_validate') { - $template->param(add_validate => 1); my $dbh=C4::Context->dbh; my $sth=$dbh->prepare("select * from z3950servers where name=?"); $sth->execute($input->param('searchfield')); my $checked = $input->param('checked') ? 1 : 0; if ($sth->rows) { - $sth=$dbh->prepare("update z3950servers set host=?, port=?, db=?, userid=?, password=?, name=?, checked=?, rank=?,syntax=?,encoding=?,timeout=? where name=?"); + $template->param(confirm_update => 1); + $sth=$dbh->prepare("update z3950servers set host=?, port=?, db=?, userid=?, password=?, name=?, checked=?, rank=?,syntax=?,encoding=?,timeout=?,recordtype=? where name=?"); $sth->execute($input->param('host'), $input->param('port'), $input->param('db'), @@ -123,50 +125,54 @@ if ($op eq 'add_form') { $input->param('syntax'), $input->param('encoding'), $input->param('timeout'), + $input->param('recordtype'), $input->param('searchfield'), ); } else { + $template->param(confirm_add => 1); $sth=$dbh->prepare( "INSERT INTO z3950servers " . - "(host,port,db,userid,password,name,checked,rank,syntax,encoding,timeout) " . - "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" ); + "(host,port,db,userid,password,name,checked,rank,syntax,encoding,timeout,recordtype) " . + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" ); $sth->execute( - $input->param( 'host' ), - $input->param( 'port' ), - $input->param( 'db' ), - $input->param( 'userid' ), - $input->param( 'password' ), - $input->param( 'searchfield' ), - $checked, - $input->param( 'rank' ), - $input->param( 'syntax' ), - $input->param( 'encoding' ), - $input->param( 'timeout' ) ); - } - $sth->finish; - # END $OP eq ADD_VALIDATE + $input->param('host'), $input->param('port'), + $input->param('db'), $input->param('userid'), + $input->param('password'), $input->param('searchfield'), + $checked, $input->param('rank'), + $input->param('syntax'), $input->param('encoding'), + $input->param('timeout'), $input->param('recordtype') + ); + } + $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 $sth2=$dbh->prepare("select host,port,db,userid,password,name,id,checked,rank,syntax,encoding,timeout from z3950servers where (name = ?) order by rank,name"); - $sth2->execute($searchfield); - my $data=$sth2->fetchrow_hashref; - $sth2->finish; - - $template->param(host => $data->{'host'}, - port => $data->{'port'}, - db => $data->{'db'}, - userid => $data->{'userid'}, - password => $data->{'password'}, - checked => $data->{'checked'}, - rank => $data->{'rank'}, - syntax => $data->{'syntax'}, - timeout => $data->{'timeout'}, - encoding => $data->{'encoding'} ); + $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,encoding,timeout,recordtype from z3950servers where (name = ?) order by rank,name" + ); + $sth2->execute($searchfield); + my $data = $sth2->fetchrow_hashref; + $sth2->finish; + + $template->param( + host => $data->{'host'}, + port => $data->{'port'}, + db => $data->{'db'}, + userid => $data->{'userid'}, + password => $data->{'password'}, + checked => $data->{'checked'}, + rank => $data->{'rank'}, + syntax => $data->{'syntax'}, + timeout => $data->{'timeout'}, + recordtype => $data->{'recordtype'}, + encoding => $data->{'encoding'} + ); # END $OP eq DELETE_CONFIRM ################## DELETE_CONFIRMED ################################## @@ -197,7 +203,8 @@ if ($op eq 'add_form') { rank => $results->[$i]{'rank'}, syntax => $results->[$i]{'syntax'}, encoding => $results->[$i]{'encoding'}, - timeout => $results->[$i]{'timeout'}); + timeout => $results->[$i]{'timeout'}, + recordtype => $results->[$i]{'recordtype'}); push @loop, \%row; }