return json with issues for ferweb
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 2 Jul 2011 05:46:34 +0000 (07:46 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 16 Jul 2014 12:17:27 +0000 (14:17 +0200)
ferweb/issues.pl [new file with mode: 0755]

diff --git a/ferweb/issues.pl b/ferweb/issues.pl
new file mode 100755 (executable)
index 0000000..faa80ed
--- /dev/null
@@ -0,0 +1,61 @@
+#!/usr/bin/perl
+use warnings;
+use strict;
+
+use CGI;
+use JSON;
+use lib '..';
+use C4::Context;
+
+use Data::Dump qw(dump);
+
+my $query = new CGI;
+my $dbh = C4::Context->dbh;
+
+my $sql = qq{
+select
+       userid,
+       cardnumber,
+       firstname,
+       surname,
+       email,
+       items.itemnumber,
+       biblio.title,
+       author,
+       barcode,
+--     issuedate,
+       date_due as     issuedate,
+       date_due
+from issues
+join borrowers on borrowers.borrowernumber = issues.borrowernumber
+join items on issues.itemnumber = items.itemnumber 
+join biblioitems on items.biblioitemnumber = biblioitems.biblioitemnumber
+join biblio on biblioitems.biblionumber = biblio.biblionumber
+};
+
+my @where;
+my @data;
+if ( my $nick = $query->param('nick') ) {
+       push @where, 'userid = ?';
+       push @data, $nick;
+}
+
+if ( my $jmbag = $query->param('jmbag') ) {
+       push @where, 'cardnumber = ?';
+       push @data, 'S' . sprintf("%010d",$jmbag);
+}
+
+die 'need nick=? and/or jmbag=?' unless @data;
+
+$sql .= ' where ' . join(' or ', @where);
+warn "# SQL: $sql ",dump(@data);
+my $sth = $dbh->prepare($sql);
+$sth->execute(@data);
+
+my @rows;
+while ( my $row = $sth->fetchrow_hashref ) {
+       push @rows, $row;
+}
+
+print "Content-type: application/json\r\n\r\n", to_json(\@rows, { utf8 => 1 });
+