Merge remote-tracking branch 'origin/new/bug_6634'
[koha.git] / circ / ysearch.pl
1 #!/usr/bin/perl
2
3 # This software is placed under the gnu General Public License, v2 (http://www.gnu.org/licenses/gpl.html)
4
5 # Copyright 2007 Tamil s.a.r.l.
6 # Parts copyright 2010-2012 Athens County Public Libraries
7 #
8 # This file is part of Koha.
9 #
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.
14 #
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.
18 #
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.
22
23 =head1 ysearch.pl
24
25
26 =cut
27
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/;
34
35 my $input   = new CGI;
36 my $query   = $input->param('term');
37
38 binmode STDOUT, ":encoding(UTF-8)";
39 print $input->header(-type => 'text/plain', -charset => 'UTF-8');
40
41 my ($auth_status, $sessionID) = check_cookie_auth($input->cookie('CGISESSID'), { circulate => '*' });
42 if ($auth_status ne "ok") {
43     exit 0;
44 }
45
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%");
56
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++;
70 }
71 print "]";