X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=cataloguing%2Fz3950_search.pl;h=8acc92c25d0d0a4f4ca9dd8a14530127931c4cf2;hb=06a23aadefc84bc8e7131a83e316ba408b40e4b2;hp=425a6c17f1854c0b75b25d457d67af58c7bdff17;hpb=4b1749c170a534f315b17093c21b188837844868;p=srvgit diff --git a/cataloguing/z3950_search.pl b/cataloguing/z3950_search.pl index 425a6c17f1..8acc92c25d 100755 --- a/cataloguing/z3950_search.pl +++ b/cataloguing/z3950_search.pl @@ -5,31 +5,28 @@ # # 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 Modern::Perl; +use CGI qw ( -utf8 ); -use C4::Auth; -use C4::Output; +use C4::Auth qw( get_template_and_user ); +use C4::Output qw( output_html_with_http_headers ); use C4::Context; -use C4::Breeding; -use C4::Koha; +use C4::Breeding qw( Z3950Search ); -my $input = new CGI; -my $dbh = C4::Context->dbh; +my $input = CGI->new; my $error = $input->param('error'); my $biblionumber = $input->param('biblionumber') || 0; my $frameworkcode = $input->param('frameworkcode'); @@ -44,16 +41,16 @@ my $dewey = $input->param('dewey'); my $controlnumber = $input->param('controlnumber'); my $stdid = $input->param('stdid'); my $srchany = $input->param('srchany'); +my $publicationyear = $input->param('publicationyear'); my $op = $input->param('op')||''; 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 }, }); @@ -71,21 +68,29 @@ $template->param( biblionumber => $biblionumber, dewey => $dewey, subject => $subject, + publicationyear => $publicationyear, ); 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, @@ -108,6 +112,7 @@ my $pars= { controlnumber => $controlnumber, stdid => $stdid, srchany => $srchany, + publicationyear => $publicationyear, }; Z3950Search($pars, $template); output_html_with_http_headers $input, $cookie, $template->output;