From 8452f64a5389bd9b38eca73374ddd50de1448022 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Tue, 10 Feb 2015 12:52:25 -0300 Subject: [PATCH] Bug 13545: (followup) POD and error handling This patch adds POD to the new /svc/barcode service, and also implements some error handling. Sponsored-by: Universidad Nacional de Cordoba --- svc/barcode | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/svc/barcode b/svc/barcode index 8c4e745..1a00c1f 100755 --- a/svc/barcode +++ b/svc/barcode @@ -24,6 +24,43 @@ use GD::Barcode; use C4::Auth qw(check_cookie_auth); +=head1 NAME + + /cgi-bin/koha/svc/barcode + +=head1 SYNOPSIS + +This service generates a PNG barcode image for the requested barcode. + +=head2 PARAMETERS + +=over + +=item I + +I is the desired barcode. It should be called like: + +=item I + +I is the desired barcode type. Possible values are TODO. If ommited, +it defaults to Code39. + +=back + +=head2 EXAMPLES + +=over + +=item /cgi-bin/koha/svc/barcode?barcode=123456789 + +Returns a Code39 barcode image for barcode 123456789 + +=item /cgi-bin/koha/svc/barcode?barcode=123456789&type=UPCE + +Returns a UPCE barcode image for barcode 123456789 + +=cut + my $input = new CGI; my ( $auth_status, $sessionID ) = check_cookie_auth( $input->cookie('CGISESSID'), { catalogue => '*' } ); @@ -36,6 +73,24 @@ binmode(STDOUT); my $type = $input->param('type') || 'Code39'; my $barcode = $input->param('barcode'); +my $image; + +eval { + $image = GD::Barcode->new( $type, $barcode )->plot()->png(); +}; + +if ( $@ ) { + # problem creating image + print header( -status => 500 ); +} else { + print header('image/png'); + print $image; +} + +exit 0; + +=head1 AUTHOR + +Kyle M Hall -print header('image/png'); -print GD::Barcode->new( $type, $barcode )->plot()->png(); +=cut \ No newline at end of file -- 1.9.1