From ea99796bea887ee30d737423732a07cf379e496c Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sun, 8 Sep 2019 09:35:20 +0200 Subject: [PATCH] ferweb/issues.pl test with: curl 'http://lib.fer.hr/cgi-bin/koha/ferweb/issues.pl?nick=xx&jmbag=0012345656' --- opac/cgi-bin/opac/ferweb/issues.pl | 62 ++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 opac/cgi-bin/opac/ferweb/issues.pl diff --git a/opac/cgi-bin/opac/ferweb/issues.pl b/opac/cgi-bin/opac/ferweb/issues.pl new file mode 100755 index 0000000..35858f0 --- /dev/null +++ b/opac/cgi-bin/opac/ferweb/issues.pl @@ -0,0 +1,62 @@ +#!/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); +warn $sth->rows, " issues for ",dump( @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 }); + -- 2.20.1