X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=authorities%2Fauthorities-home.pl;h=426b1bace3ea5393e8f433e335069cd390062221;hb=090c0fc6c49e448b1ee506808e5f157c4ba88414;hp=8128e0cb797c7572ec0af74f6587a9597b8fc7d8;hpb=a6a954efa83a4d87eee8a8b1a0864b60f01eaa7f;p=koha.git diff --git a/authorities/authorities-home.pl b/authorities/authorities-home.pl index 8128e0cb79..426b1bace3 100755 --- a/authorities/authorities-home.pl +++ b/authorities/authorities-home.pl @@ -4,23 +4,23 @@ # # 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; +use CGI qw ( -utf8 ); use URI::Escape; use C4::Auth; @@ -29,10 +29,14 @@ use C4::Auth; use C4::Output; use C4::AuthoritiesMarc; use C4::Acquisition; -use C4::Koha; # XXX subfield_is_koha_internal_p +use C4::Koha; use C4::Biblio; use C4::Search::History; +use Koha::Authority::Types; +use Koha::SearchEngine::Search; +use Koha::SearchEngine::QueryBuilder; + my $query = new CGI; my $dbh = C4::Context->dbh; my $op = $query->param('op') || ''; @@ -41,27 +45,12 @@ my $authid = $query->param('authid') || ''; my ( $template, $loggedinuser, $cookie ); -my $authtypes = getauthtypes; -my @authtypesloop; -foreach my $thisauthtype ( - sort { - $authtypes->{$a}{'authtypetext'} cmp $authtypes->{$b}{'authtypetext'} - } - keys %$authtypes - ) -{ - my %row = ( - value => $thisauthtype, - selected => $thisauthtype eq $authtypecode, - authtypetext => $authtypes->{$thisauthtype}{'authtypetext'}, - ); - push @authtypesloop, \%row; -} +my $authority_types = Koha::Authority::Types->search( {}, { order_by => ['authtypetext'] } ); if ( $op eq "delete" ) { ( $template, $loggedinuser, $cookie ) = get_template_and_user( { - template_name => "authorities/authorities-home.tmpl", + template_name => "authorities/authorities-home.tt", query => $query, type => 'intranet', authnotrequired => 0, @@ -90,18 +79,30 @@ if ( $op eq "do_search" ) { my $startfrom = $query->param('startfrom') || 1; my $resultsperpage = $query->param('resultsperpage') || 20; - my ( $results, $total ) = SearchAuthorities( - [$marclist], [$and_or], - [$excluding], [$operator], - [$value], ( $startfrom - 1 ) * $resultsperpage, - $resultsperpage, $authtypecode, - $orderby + my $builder = Koha::SearchEngine::QueryBuilder->new( + { index => $Koha::SearchEngine::AUTHORITIES_INDEX } ); + my $searcher = Koha::SearchEngine::Search->new( + { index => $Koha::SearchEngine::AUTHORITIES_INDEX } ); + my $search_query = $builder->build_authorities_query_compat( + [$marclist], [$and_or], [$excluding], [$operator], + [$value], $authtypecode, $orderby ); + $startfrom = $startfrom // 0; + my ( $results, $total ) = + $searcher->search_auth_compat( $search_query, $startfrom, + $resultsperpage ); + #my ( $results, $total ) = SearchAuthorities( + # [$marclist], [$and_or], + # [$excluding], [$operator], + # [$value], ( $startfrom - 1 ) * $resultsperpage, + # $resultsperpage, $authtypecode, + # $orderby + #); ( $template, $loggedinuser, $cookie ) = get_template_and_user( { - template_name => "authorities/searchresultlist.tmpl", + template_name => "authorities/searchresultlist.tt", query => $query, type => 'intranet', authnotrequired => 0, @@ -146,7 +147,7 @@ if ( $op eq "do_search" ) { # next/previous would not work anymore # construction of the url of each page - my $value_url = uri_escape($value); + my $value_url = uri_escape_utf8($value); my $base_url = "authorities-home.pl?" ."marclist=$marclist" ."&and_or=$and_or" @@ -189,7 +190,7 @@ if ( $op eq "do_search" ) { if ( $op eq '' ) { ( $template, $loggedinuser, $cookie ) = get_template_and_user( { - template_name => "authorities/authorities-home.tmpl", + template_name => "authorities/authorities-home.tt", query => $query, type => 'intranet', authnotrequired => 0, @@ -201,7 +202,7 @@ if ( $op eq '' ) { } $template->param( - authtypesloop => \@authtypesloop, + authority_types => $authority_types, op => $op, );