X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=labels%2Flabel-create-xml.pl;h=5e62ef81c95af71482ea05b2891636f8f61605f6;hb=0070a7f6afb30b6f7ae8bc0eb073a4c39e0f783a;hp=a71c9afc39ec85718a7ac065b8c492c1eefe2cf3;hpb=39d227d712956344ec5c8a0d3669fd690124ebbb;p=koha_fer diff --git a/labels/label-create-xml.pl b/labels/label-create-xml.pl index a71c9afc39..5e62ef81c9 100755 --- a/labels/label-create-xml.pl +++ b/labels/label-create-xml.pl @@ -1,5 +1,6 @@ #!/usr/bin/perl -# Copyright 2009 Foundations Bible College. + +# Copyright Koha development team 2011 # # This file is part of Koha. # @@ -15,33 +16,29 @@ # You should have received a copy of the GNU General Public License along with # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, # Suite 330, Boston, MA 02111-1307 USA +# use strict; use warnings; use CGI; -use Sys::Syslog qw(syslog); use XML::Simple; use Data::Dumper; use C4::Debug; -use C4::Labels::Batch 1.000000; -use C4::Labels::Template 1.000000; -use C4::Labels::Layout 1.000000; -use C4::Labels::PDF 1.000000; -use C4::Labels::Label 1.000000; - -=head - -=cut +use C4::Creators; +use C4::Labels; my $cgi = new CGI; -my $batch_id = $cgi->param('batch_id') if $cgi->param('batch_id'); +my $batch_id; +my @label_ids; +my @item_numbers; +$batch_id = $cgi->param('batch_id') if $cgi->param('batch_id'); my $template_id = $cgi->param('template_id') || undef; my $layout_id = $cgi->param('layout_id') || undef; -my @label_ids = $cgi->param('label_id') if $cgi->param('label_id'); -my @item_numbers = $cgi->param('item_number') if $cgi->param('item_number'); +@label_ids = $cgi->param('label_id') if $cgi->param('label_id'); +@item_numbers = $cgi->param('item_number') if $cgi->param('item_number'); my $items = undef; @@ -77,7 +74,6 @@ my $xml_data = {'label' => []}; my $item_count = 0; -XML_ITEMS: foreach my $item (@$items) { push(@{$xml_data->{'label'}}, {'item_number' => $item->{'item_number'}}); my $label = C4::Labels::Label->new( @@ -86,16 +82,13 @@ foreach my $item (@$items) { format_string => $layout->get_attr('format_string'), ); my $format_string = $layout->get_attr('format_string'); - my @data_fields = split(/, /, $format_string); + my @data_fields = map { $_ eq 'callnumber' ? 'itemcallnumber' : $_ } # see bug 5653 + split(/, /, $format_string); my $csv_data = $label->csv_data(); - for (my $i = 0; $i < (scalar(@data_fields) - 1); $i++) { + for (my $i = 0; $i <= (scalar(@data_fields) - 1); $i++) { push(@{$xml_data->{'label'}[$item_count]->{$data_fields[$i]}}, $$csv_data[$i]); } $item_count++; -# else { -# syslog("LOG_ERR", "labels/label-create-csv.pl : Text::CSV_XS->combine() returned the following error: %s", $csv->error_input); -# next CSV_ITEMS; -# } } #die "XML DATA:\n" . Dumper($xml_data); @@ -104,4 +97,38 @@ my $xml_out = $xml->XMLout($xml_data); #die "XML OUT:\n" . Dumper($xml_out); print $xml_out; -exit(1); +__END__ + +=head1 NAME + +labels/label-create-xml.pl - A script for creating a xml export of labels and label batches in Koha + +=head1 ABSTRACT + +This script provides the means of producing a xml of labels for items either individually, in groups, or in batches from within Koha. This particular script is provided more as +a demonstration of the multitude of formats Koha labels could be exported in based on the current Label Creator API. + +=head1 AUTHOR + +Chris Nighswonger + +=head1 COPYRIGHT + +Copyright 2009 Foundations Bible College. + +=head1 LICENSE + +This file is part of Koha. + +Koha is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software +Foundation; either version 2 of the License, or (at your option) any later version. + +You should have received a copy of the GNU General Public License along with Koha; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, +Fifth Floor, Boston, MA 02110-1301 USA. + +=head1 DISCLAIMER OF WARRANTY + +Koha is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +=cut