From 2715e1715d954c0991df079386df6c05cebc1164 Mon Sep 17 00:00:00 2001 From: mark Date: Sat, 3 Oct 2009 20:22:19 +0000 Subject: [PATCH] Load XML::Simple at runtime to avoid breakage --- FS/FS/pay_batch.pm | 5 +++-- FS/FS/pay_batch/paymentech.pm | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/FS/FS/pay_batch.pm b/FS/FS/pay_batch.pm index ffa6e200e..83bf7a3dc 100644 --- a/FS/FS/pay_batch.pm +++ b/FS/FS/pay_batch.pm @@ -4,7 +4,6 @@ use strict; use vars qw( @ISA $DEBUG %import_info %export_info $conf ); use Time::Local; use Text::CSV_XS; -use XML::Simple qw(XMLin XMLout); use FS::Record qw( dbh qsearch qsearchs ); use FS::cust_pay; use FS::Conf; @@ -241,11 +240,13 @@ sub import_results { # process one line at a time. if ($filetype eq 'XML') { + eval "use XML::Simple"; + die $@ if $@; my @xmlkeys = @{ $info->{'xmlkeys'} }; # for XML my $xmlrow = $info->{'xmlrow'}; # also for XML # Do everything differently. - my $data = XMLin($fh, KeepRoot => 1); + my $data = XML::Simple::XMLin($fh, KeepRoot => 1); my $rows = $data; # $xmlrow = [ RootKey, FirstLevelKey, SecondLevelKey... ] $rows = $rows->{$_} foreach( @$xmlrow ); diff --git a/FS/FS/pay_batch/paymentech.pm b/FS/FS/pay_batch/paymentech.pm index 33a9fda73..44fa78a10 100644 --- a/FS/FS/pay_batch/paymentech.pm +++ b/FS/FS/pay_batch/paymentech.pm @@ -6,7 +6,6 @@ use Time::Local; use Date::Format 'time2str'; use Date::Parse 'str2time'; use FS::Conf; -use XML::Simple qw(XMLin XMLout); my $conf; my ($bin, $merchantID, $terminalID, $username); @@ -49,6 +48,9 @@ my %paytype = ( %export_info = ( init => sub { +# Load this at run time + eval "use XML::Simple"; + die $@ if $@; my $conf = shift; ($bin, $terminalID, $merchantID, $username) = $conf->config('batchconfig-paymentech'); @@ -58,7 +60,7 @@ my %paytype = ( my $pay_batch = shift; my @cust_pay_batch = @{(shift)}; my $count = 0; - XMLout( { + XML::Simple::XMLout( { transRequest => { RequestCount => scalar(@cust_pay_batch), batchFileID => { -- 2.11.0