X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=bin%2Faradial-sftp_and_import;h=e7639633a0f83381a0d3771024956bb92a8279a3;hp=0cb6bca3a840d27e20caa2e1cd94d33252dbcf49;hb=5f0388ca15d79d964b1c6197d0841d8f5c708d15;hpb=7f1bc9c18dc4a2cd1c9a8f972c3107821af0e649 diff --git a/bin/aradial-sftp_and_import b/bin/aradial-sftp_and_import index 0cb6bca3a..e7639633a 100755 --- a/bin/aradial-sftp_and_import +++ b/bin/aradial-sftp_and_import @@ -4,9 +4,11 @@ use strict; use Getopt::Std; +use Date::Parse; use Date::Format; use Text::CSV_XS; use DBI qw( :sql_types ); +use FS::DBI; use Net::SFTP::Foreign; #use FS::UID qw( adminsuidsetup datasrc ); @@ -80,8 +82,8 @@ mkdir $cachedir unless -d $cachedir; my $servername = shift or die &usage; my( $datasrc, $db_user, $db_pass ) = ( shift, shift, shift ); -my $dbh = DBI->connect( $datasrc, $db_user, $db_pass) - or die "can't connect: $DBI::errstr\n"; +my $dbh = FS::DBI->connect( $datasrc, $db_user, $db_pass) + or die "can't connect: $FS::DBI::errstr\n"; my $csv = Text::CSV_XS->new; @@ -162,6 +164,8 @@ foreach my $filename ( @$ls ) { #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'} }; @@ -169,7 +173,8 @@ foreach my $filename ( @$ls ) { 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 ( '. join(',', map ' ? ', @keys ). ' )'; @@ -177,7 +182,9 @@ foreach my $filename ( @$ls ) { } 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;