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;
+use Koha::Token;
+
my $query = new CGI;
my $dbh = C4::Context->dbh;
my $op = $query->param('op') || '';
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(
debug => 1,
}
);
- &DelAuthority( $authid, 1 );
+
+ die "Wrong CSRF token" unless Koha::Token->new->check_csrf({
+ session_id => scalar $query->cookie('CGISESSID'),
+ token => scalar $query->param('csrf_token'),
+ });
+
+ DelAuthority({ authid => $authid });
if ( $query->param('operator') ) {
# query contains search params so perform 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
);
+ my $offset = ( $startfrom - 1 ) * $resultsperpage + 1;
+ my ( $results, $total ) =
+ $searcher->search_auth_compat( $search_query, $offset,
+ $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->param(
+ csrf_token => Koha::Token->new->generate_csrf({
+ session_id => scalar $query->cookie('CGISESSID'),
+ }),
+ );
+
# search history
if (C4::Context->preference('EnableSearchHistory')) {
if ( $startfrom == 1) {
}
$template->param(
- authtypesloop => \@authtypesloop,
+ authority_types => $authority_types,
op => $op,
);