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 );
###
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 $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;
#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'} };
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 ). ' )';
} 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;