X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Fsqlradius.cgi;h=5363944e47ce1bd08cd57acd029ff343b43a0d8d;hb=f0749e294656ac2615edaa59bbdb850eb3d20544;hp=29f360298244e9e7b13297b12291d4eefcd2cd82;hpb=40a7b3dc653e099f7bd0bd762b649b04c4432db2;p=freeside.git diff --git a/httemplate/search/sqlradius.cgi b/httemplate/search/sqlradius.cgi index 29f360298..5363944e4 100644 --- a/httemplate/search/sqlradius.cgi +++ b/httemplate/search/sqlradius.cgi @@ -57,6 +57,7 @@ % 'svc_acct' => $cgi_svc_acct, % 'ip' => $ip, % 'prefix' => $prefix, +% 'summarize' => $summarize, % } ) % } % ) { @@ -96,15 +97,18 @@ die "access denied" # parse cgi params ### +my $summarize = 0; +$summarize = 1 if $cgi->param('summarize') eq 'Y'; + #sort of false laziness w/cust_pay.cgi my( $beginning, $ending ) = ( '', '' ); if ( $cgi->param('stoptime_beginning') && $cgi->param('stoptime_beginning') =~ /^([ 0-9\-\/\:\w]{0,54})$/ ) { - $beginning = str2time($1); + $beginning = parse_datetime($1); } if ( $cgi->param('stoptime_ending') && $cgi->param('stoptime_ending') =~ /^([ 0-9\-\/\:\w]{0,54})$/ ) { - $ending = str2time($1); # + 86399; + $ending = parse_datetime($1); # + 86399; } if ( $cgi->param('begin') && $cgi->param('begin') =~ /^(\d+)$/ ) { $beginning = $1; @@ -121,11 +125,11 @@ if ( $cgi->param('open_sessions') =~ /^(\d*)$/ ) { my( $starttime_beginning, $starttime_ending ) = ( '', '' ); if ( $cgi->param('starttime_beginning') && $cgi->param('starttime_beginning') =~ /^([ 0-9\-\/\:\w]{0,54})$/ ) { - $starttime_beginning = str2time($1); + $starttime_beginning = parse_datetime($1); } if ( $cgi->param('starttime_ending') && $cgi->param('starttime_ending') =~ /^([ 0-9\-\/\:\w]{0,54})$/ ) { - $starttime_ending = str2time($1); # + 86399; + $starttime_ending = parse_datetime($1); # + 86399; } my $cgi_svc_acct = ''; @@ -265,7 +269,42 @@ my $octets_format = sub { # the fields ### -tie my %fields, 'Tie::IxHash', +my %fields; +if ( $summarize ) { +tie %fields, 'Tie::IxHash', + 'username' => { + name => 'User', + attrib => 'UserName', + fmt => $user_format, + align => 'left', + }, + 'dummy' => { + name => 'Customer', + attrib => '', + fmt => $customer_format, + align => 'left', + }, + 'acctsessiontime' => { + name => 'Duration', + attrib => 'Acct-Session-Time', + fmt => $duration_format, + align => 'right', + }, + 'acctinputoctets' => { + name => 'Upload', # (from user)', + attrib => 'Acct-Input-Octets', + fmt => $octets_format, + align => 'right', + }, + 'acctoutputoctets' => { + name => 'Download', # (to user)', + attrib => 'Acct-Output-Octets', + fmt => $octets_format, + align => 'right', + }, +; +} else { +tie %fields, 'Tie::IxHash', 'username' => { name => 'User', attrib => 'UserName', @@ -322,6 +361,7 @@ tie my %fields, 'Tie::IxHash', align => 'right', }, ; +} $fields{$_}->{fmt} ||= sub { length($_[0]) ? shift : ' '; } foreach keys %fields;