Merge branch 'bug_10088' into 3.14-master
[koha.git] / circ / ysearch.pl
blob8a48c51f4b8aaaf23e4a4ac2616d5de62c427178
1 #!/usr/bin/perl
3 # This software is placed under the gnu General Public License, v2 (http://www.gnu.org/licenses/gpl.html)
5 # Copyright 2007 Tamil s.a.r.l.
6 # Parts copyright 2010-2012 Athens County Public Libraries
8 # This file is part of Koha.
10 # Koha is free software; you can redistribute it and/or modify it under the
11 # terms of the GNU General Public License as published by the Free Software
12 # Foundation; either version 2 of the License, or (at your option) any later
13 # version.
15 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
16 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
17 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
19 # You should have received a copy of the GNU General Public License along
20 # with Koha; if not, write to the Free Software Foundation, Inc.,
21 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 =head1 ysearch.pl
26 =cut
28 use strict;
29 #use warnings; FIXME - Bug 2505
30 use CGI;
31 use C4::Context;
32 use C4::Members;
33 use C4::Auth qw/check_cookie_auth/;
35 my $input = new CGI;
36 my $query = $input->param('term');
38 binmode STDOUT, ":encoding(UTF-8)";
39 print $input->header(-type => 'text/plain', -charset => 'UTF-8');
41 my ($auth_status, $sessionID) = check_cookie_auth($input->cookie('CGISESSID'), { circulate => '*' });
42 if ($auth_status ne "ok") {
43 exit 0;
46 my $dbh = C4::Context->dbh;
47 my $sql = qq(SELECT surname, firstname, cardnumber, address, city, zipcode, country
48 FROM borrowers
49 WHERE surname LIKE ?
50 OR firstname LIKE ?
51 OR cardnumber LIKE ?
52 ORDER BY surname, firstname
53 LIMIT 10);
54 my $sth = $dbh->prepare( $sql );
55 $sth->execute("$query%", "$query%", "$query%");
57 print "[";
58 my $i = 0;
59 while ( my $rec = $sth->fetchrow_hashref ) {
60 if($i > 0){ print ","; }
61 print "{\"surname\":\"" . $rec->{surname} . "\",\"" .
62 "firstname\":\"".$rec->{firstname} . "\",\"" .
63 "cardnumber\":\"".$rec->{cardnumber} . "\",\"" .
64 "address\":\"".$rec->{address} . "\",\"" .
65 "city\":\"".$rec->{city} . "\",\"" .
66 "zipcode\":\"".$rec->{zipcode} . "\",\"" .
67 "country\":\"".$rec->{country} . "\"" .
68 "}";
69 $i++;
71 print "]";