projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix phantom customer links
[freeside.git]
/
bin
/
aradial-sftp_and_import
diff --git
a/bin/aradial-sftp_and_import
b/bin/aradial-sftp_and_import
index
cc2238e
..
668ec49
100755
(executable)
--- a/
bin/aradial-sftp_and_import
+++ b/
bin/aradial-sftp_and_import
@@
-4,6
+4,7
@@
use strict;
use Getopt::Std;
use strict;
use Getopt::Std;
+use Date::Parse;
use Date::Format;
use Text::CSV_XS;
use DBI qw( :sql_types );
use Date::Format;
use Text::CSV_XS;
use DBI qw( :sql_types );
@@
-65,7
+66,7
@@
our %status_type = (
###
use vars qw( $opt_m $opt_a $opt_b $opt_r $opt_d $opt_v $opt_P );
###
use vars qw( $opt_m $opt_a $opt_b $opt_r $opt_d $opt_v $opt_P );
-getopts('m:abr:dP:v:');
+getopts('m:abr:d
:
P:v:');
my %options = ();
my %options = ();
@@
-127,6
+128,8
@@
else {
foreach my $filename ( @$ls ) {
foreach my $filename ( @$ls ) {
+ next if $opt_d && $filename eq $opt_d;
+
warn "Downloading $filename\n" if $opt_v;
#get the file
warn "Downloading $filename\n" if $opt_v;
#get the file
@@
-157,6
+160,11
@@
foreach my $filename ( @$ls ) {
my @keys = keys %dbhash;
my @keys = keys %dbhash;
+ #skip blank records
+ next unless grep defined($_), values %dbhash;
+
+ my $date = time2str( '%Y-%m-%d %X', str2time( $hash{'Date'} ) );
+
$hash{'Status-Type'} = $status_type{ $hash{'Status-Type'} }
if exists $status_type{ $hash{'Status-Type'} };
$hash{'Status-Type'} = $status_type{ $hash{'Status-Type'} }
if exists $status_type{ $hash{'Status-Type'} };
@@
-164,15
+172,18
@@
foreach my $filename ( @$ls ) {
my @extra_values = ();
if ( $hash{'Status-Type'} eq 'Start' ) {
my @extra_values = ();
if ( $hash{'Status-Type'} eq 'Start' ) {
- $dbhash{'AcctStartTime'} = $hash{'Date'};
+ push @keys, 'AcctStartTime';
+ $dbhash{'AcctStartTime'} = $date;
- $sql = 'INSERT INTO radacct ( '
,
join(',', @keys).
- ' ) VALUES ( '.
map(
' ? ', @keys ). ' )';
+ $sql = 'INSERT INTO radacct ( '
.
join(',', @keys).
+ ' ) VALUES ( '.
join(',', map
' ? ', @keys ). ' )';
} elsif ( $hash{'Status-Type'} eq 'Stop' ) {
my $AcctSessionId = delete($dbhash{AcctSessionId});
} elsif ( $hash{'Status-Type'} eq 'Stop' ) {
my $AcctSessionId = delete($dbhash{AcctSessionId});
- $dbhash{'AcctStopTime'} = $hash{'Date'};
+
+ push @keys, 'AcctStopTime';
+ $dbhash{'AcctStopTime'} = $date;
push @extra_values, $AcctSessionId;
push @extra_values, $AcctSessionId;
@@
-194,6
+205,7
@@
foreach my $filename ( @$ls ) {
foreach my $value ( map $dbhash{$_}, @keys ) {
my $key = shift @keys;
my $type = exists($bind_type{$key}) ? $bind_type{$key} : SQL_VARCHAR;
foreach my $value ( map $dbhash{$_}, @keys ) {
my $key = shift @keys;
my $type = exists($bind_type{$key}) ? $bind_type{$key} : SQL_VARCHAR;
+ $value ||= 0 if $type == SQL_INTEGER;
$sth->bind_param($p_num++, $value, $type);
}
foreach my $value ( @extra_values ) {
$sth->bind_param($p_num++, $value, $type);
}
foreach my $value ( @extra_values ) {