X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=inline;f=circ%2Fysearch.pl;h=4a3663e34828db653401c22d76f76a608b1bd52b;hb=076e537986e0561c3fd2ad4b67251d61821ed712;hp=beab6a1f4e0912997b69d1cd3031abd94db24816;hpb=7650a34754d5265a749c070228ad04b397d3cf3a;p=koha.git diff --git a/circ/ysearch.pl b/circ/ysearch.pl index beab6a1f4e..4a3663e348 100755 --- a/circ/ysearch.pl +++ b/circ/ysearch.pl @@ -3,6 +3,7 @@ # This software is placed under the gnu General Public License, v2 (http://www.gnu.org/licenses/gpl.html) # Copyright 2007 Tamil s.a.r.l. +# Parts copyright 2010-2012 Athens County Public Libraries # # This file is part of Koha. # @@ -32,7 +33,7 @@ use C4::Members; use C4::Auth qw/check_cookie_auth/; my $input = new CGI; -my $query = $input->param('query'); +my $query = $input->param('term'); binmode STDOUT, ":encoding(UTF-8)"; print $input->header(-type => 'text/plain', -charset => 'UTF-8'); @@ -42,11 +43,39 @@ if ($auth_status ne "ok") { exit 0; } -print map $_->{surname} . ", " . $_->{firstname} . "\t" . - $_->{cardnumber} . "\t" . - $_->{address} . "\t" . - $_->{city} . "\t" . - $_->{zipcode} . "\t" . - $_->{country} . - "\n", - @{ Search($query, [qw(surname firstname cardnumber)], [10], [qw(surname firstname cardnumber address city zipcode country)]) }; +my $dbh = C4::Context->dbh; +my $sql = q( + SELECT surname, firstname, cardnumber, address, city, zipcode, country + FROM borrowers + WHERE ( surname LIKE ? + OR firstname LIKE ? + OR cardnumber LIKE ? ) +); +if (C4::Context->preference("IndependentBranches")){ + if ( C4::Context->userenv + && (C4::Context->userenv->{flags} % 2) !=1 + && C4::Context->userenv->{'branch'} + ){ + $sql .= " AND borrowers.branchcode =" . $dbh->quote(C4::Context->userenv->{'branch'}); + } +} + +$sql .= q( ORDER BY surname, firstname LIMIT 10); +my $sth = $dbh->prepare( $sql ); +$sth->execute("$query%", "$query%", "$query%"); + +print "["; +my $i = 0; +while ( my $rec = $sth->fetchrow_hashref ) { + if($i > 0){ print ","; } + print "{\"surname\":\"" . $rec->{surname} . "\",\"" . + "firstname\":\"".$rec->{firstname} . "\",\"" . + "cardnumber\":\"".$rec->{cardnumber} . "\",\"" . + "address\":\"".$rec->{address} . "\",\"" . + "city\":\"".$rec->{city} . "\",\"" . + "zipcode\":\"".$rec->{zipcode} . "\",\"" . + "country\":\"".$rec->{country} . "\"" . + "}"; + $i++; +} +print "]";