X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=cataloguing%2Fz3950_search.pl;h=6ab1baa8cd533da12ce2cb7a452aecbf489db7a5;hb=e711c8e41847ab57ef84660047535ff44f747f97;hp=05f5f2b8996694429c2e64d5b933910f3f379ef7;hpb=9c0b2e408b496b999cdbede92e651f3aef588209;p=koha.git diff --git a/cataloguing/z3950_search.pl b/cataloguing/z3950_search.pl index 05f5f2b899..6ab1baa8cd 100755 --- a/cataloguing/z3950_search.pl +++ b/cataloguing/z3950_search.pl @@ -5,22 +5,22 @@ # # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along -# with Koha; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . use strict; use warnings; -use CGI qw( -utf8 ); +use CGI qw ( -utf8 ); use C4::Auth; use C4::Output; @@ -29,7 +29,6 @@ use C4::Breeding; use C4::Koha; my $input = new CGI; -my $dbh = C4::Context->dbh; my $error = $input->param('error'); my $biblionumber = $input->param('biblionumber') || 0; my $frameworkcode = $input->param('frameworkcode'); @@ -50,10 +49,9 @@ my $page = $input->param('current_page') || 1; $page = $input->param('goto_page') if $input->param('changepage_goto'); my ( $template, $loggedinuser, $cookie ) = get_template_and_user({ - template_name => "cataloguing/z3950_search.tmpl", + template_name => "cataloguing/z3950_search.tt", query => $input, type => "intranet", - authnotrequired => 1, flagsrequired => { catalogue => 1 }, }); @@ -74,18 +72,25 @@ $template->param( ); if ( $op ne "do_search" ) { - my $sth = $dbh->prepare("SELECT id,host,name,checked FROM z3950servers ORDER BY rank, name"); - $sth->execute(); - my $serverloop = $sth->fetchall_arrayref( {} ); + my $schema = Koha::Database->new()->schema(); + my $rs = $schema->resultset('Z3950server')->search( + { + recordtype => 'biblio', + servertype => ['zed', 'sru'], + }, + { result_class => 'DBIx::Class::ResultClass::HashRefInflator', + order_by => ['rank', 'servername'], + }, + ); $template->param( - serverloop => $serverloop, + serverloop => [ $rs->all ], opsearch => "search", ); output_html_with_http_headers $input, $cookie, $template->output; exit; } -my @id = $input->param('id'); +my @id = $input->multi_param('id'); if ( @id==0 ) { # empty server list -> report and exit $template->param( emptyserverlist => 1 ); @@ -94,7 +99,6 @@ if ( @id==0 ) { } my $pars= { - random => $input->param('random') || rand(1000000000), biblionumber => $biblionumber, page => $page, id => \@id, @@ -106,8 +110,8 @@ my $pars= { subject => $subject, lccall => $lccall, controlnumber => $controlnumber, - stdid => 0, - srchany => 0, + stdid => $stdid, + srchany => $srchany, }; Z3950Search($pars, $template); output_html_with_http_headers $input, $cookie, $template->output;