Bug 10572: Add phone to message_transport_types table for new installs
[koha.git] / cataloguing / ysearch.pl
index 5cd0205..49dfa39 100755 (executable)
 
 =cut
 
-use strict;
-
-#use warnings; FIXME - Bug 2505
+use Modern::Perl;
 use CGI;
 use C4::Context;
+use C4::Charset;
 use C4::Auth qw/check_cookie_auth/;
+use JSON qw/ to_json /;
 
 my $input = new CGI;
-my $query = $input->param('query');
+my $query = $input->param('term');
 my $table = $input->param('table');
 my $field = $input->param('field');
 
 # Prevent from disclosing data
 die() unless ($table eq "biblioitems"); 
 
-binmode STDOUT, ":utf8";
+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, $sessionID ) = 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);