X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=cataloguing%2Fysearch.pl;h=7216d559b05597191c1af115406e6a1ed569abdb;hb=140493faf71b2545a41032b1d0db5d11f1db5f65;hp=a697ddba4eb50785ad0fbead8827d05c70b6ad99;hpb=4f0da07de61285216197f681330ee418ed14583c;p=srvgit diff --git a/cataloguing/ysearch.pl b/cataloguing/ysearch.pl index a697ddba4e..7216d559b0 100755 --- a/cataloguing/ysearch.pl +++ b/cataloguing/ysearch.pl @@ -6,33 +6,33 @@ # # 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 . =head1 ysearch.pl =cut -use strict; - -#use warnings; FIXME - Bug 2505 -use CGI; +use Modern::Perl; +use CGI qw ( -utf8 ); use C4::Context; -use C4::Auth qw/check_cookie_auth/; +use C4::Charset qw( nsb_clean ); +use C4::Auth qw( check_cookie_auth ); +use JSON qw( to_json ); -my $input = new CGI; -my $query = $input->param('query'); +my $input = CGI->new; +my $query = $input->param('term'); my $table = $input->param('table'); my $field = $input->param('field'); @@ -42,7 +42,7 @@ die() unless ($table eq "biblioitems"); binmode STDOUT, ":encoding(UTF-8)"; print $input->header( -type => 'text/plain', -charset => 'UTF-8' ); -my ( $auth_status, $sessionID ) = check_cookie_auth( $input->cookie('CGISESSID'), { cataloguing => '*' } ); +my ( $auth_status ) = check_cookie_auth( $input->cookie('CGISESSID'), { editcatalogue => '*' } ); if ( $auth_status ne "ok" ) { exit 0; } @@ -55,24 +55,9 @@ $sql .= qq( ORDER BY $field); my $sth = $dbh->prepare($sql); $sth->execute("$query%", "% $query%", "%-$query%"); +my $a = []; while ( my $rec = $sth->fetchrow_hashref ) { - print nsb_clean($rec->{$field}) . "\n"; -} - -sub nsb_clean { - my $NSB = '\x88' ; # NSB : begin Non Sorting Block - my $NSE = '\x89' ; # NSE : Non Sorting Block end - my $NSB2 = '\x98' ; # NSB : begin Non Sorting Block - my $NSE2 = '\x9C' ; # NSE : Non Sorting Block end - # handles non sorting blocks - my ($string) = @_ ; - $_ = $string ; - s/$NSB//g ; - s/$NSE//g ; - s/$NSB2//g ; - s/$NSE2//g ; - $string = $_ ; - - return($string) ; + push @$a, { fieldvalue => nsb_clean($rec->{$field}) }; } +print to_json($a);