if ( $svcdb eq 'svc_acct' ) {
$tag = $svc_x->email;
} elsif ( $svcdb eq 'svc_forward' ) {
- my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $svc_x->srcsvc } );
- $tag = $svc_acct->email. '->';
+ if ( $svc_x->srcsvc ) {
+ my $svc_acct = $svc_x->srcsvc_acct;
+ $tag = $svc_acct->email;
+ } else {
+ $tag = $svc_x->src;
+ }
+ $tag .= '->';
if ( $svc_x->dstsvc ) {
- $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $svc_x->dstsvc } );
+ my $svc_acct = $svc_x->dstsvc_acct;
$tag .= $svc_acct->email;
} else {
$tag .= $svc_x->dst;
$tag = $domain->zone;
} elsif ( $svcdb eq 'svc_broadband' ) {
$tag = $svc_x->ip_addr;
+ } elsif ( $svcdb eq 'svc_external' ) {
+ $tag = $svc_x->id. ': '. $svc_x->title;
} else {
cluck "warning: asked for label of unsupported svcdb; using svcnum";
$tag = $svc_x->getfield('svcnum');
my $seconds = 0;
foreach my $part_export ( @part_export ) {
+ next if $part_export->option('ignore_accounting');
+
my $dbh = DBI->connect( map { $part_export->option($_) }
qw(datasrc username password) )
or die "can't connect to sqlradius database: ". $DBI::errstr;
#select a unix time conversion function based on database type
my $str2time;
- if ( $dbh->{Driver}->{Name} eq 'mysql' ) {
+ if ( $dbh->{Driver}->{Name} =~ /^mysql(PP)?$/ ) {
$str2time = 'UNIX_TIMESTAMP(';
} elsif ( $dbh->{Driver}->{Name} eq 'Pg' ) {
$str2time = 'EXTRACT( EPOCH FROM ';
foreach my $part_export ( @part_export ) {
+ next if $part_export->option('ignore_accounting');
+
my $dbh = DBI->connect( map { $part_export->option($_) }
qw(datasrc username password) )
or die "can't connect to sqlradius database: ". $DBI::errstr;
#select a unix time conversion function based on database type
my $str2time;
- if ( $dbh->{Driver}->{Name} eq 'mysql' ) {
+ if ( $dbh->{Driver}->{Name} =~ /^mysql(PP)?$/ ) {
$str2time = 'UNIX_TIMESTAMP(';
} elsif ( $dbh->{Driver}->{Name} eq 'Pg' ) {
$str2time = 'EXTRACT( EPOCH FROM ';
#select a unix time conversion function based on database type
my $str2time;
- if ( $dbh->{Driver}->{Name} eq 'mysql' ) {
+ if ( $dbh->{Driver}->{Name} =~ /^mysql(PP)?$/ ) {
$str2time = 'UNIX_TIMESTAMP(';
} elsif ( $dbh->{Driver}->{Name} eq 'Pg' ) {
$str2time = 'EXTRACT( EPOCH FROM ';