Bug 9830: Fix some indexes in UNIMARC item indexing
[koha.git] / cataloguing / ysearch.pl
index 8255016..49dfa39 100755 (executable)
@@ -29,6 +29,7 @@ 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('term');
@@ -41,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, $sessionID ) = check_cookie_auth( $input->cookie('CGISESSID'), { editcatalogue => '*' } );
 if ( $auth_status ne "ok" ) {
     exit 0;
 }
@@ -54,14 +55,9 @@ $sql .= qq( ORDER BY $field);
 my $sth = $dbh->prepare($sql);
 $sth->execute("$query%", "% $query%", "%-$query%");
 
-print "[";
-my $i = 0;
+my $a = [];
 while ( my $rec = $sth->fetchrow_hashref ) {
-    if($i > 0){ print ","; }
-    print "{\"fieldvalue\":\"" . nsb_clean($rec->{$field}) . "\"" .
-          "}";
-    $i++;
+    push @$a, { fieldvalue => nsb_clean($rec->{$field}) };
 }
-print "]";
-
 
+print to_json($a);