fix date parsing when using international dates (package date edit), RT#8027
[freeside.git] / httemplate / search / sqlradius.cgi
index 2b6b692..cca1211 100644 (file)
@@ -1,10 +1,4 @@
-<% include( '/elements/header.html', 'RADIUS Sessions',
-             include('/elements/menubar.html',
-                       'Main menu' => $p, # popurl(2),
-                    ),
-
-    )
-%>
+<% include( '/elements/header.html', 'RADIUS Sessions') %>
 
 % ###
 % # and finally, display the thing
   </TR>
 
 %   foreach my $session (
-%       @{ $part_export->usage_sessions(
-%            $beginning, $ending, $cgi_svc_acct, $ip, $prefix, ) }
+%       @{ $part_export->usage_sessions( {
+%            'stoptime_start'  => $beginning,
+%            'stoptime_end'    => $ending,
+%            'open_sessions'   => $open_sessions,
+%            'starttime_start' => $starttime_beginning,
+%            'starttime_end'   => $starttime_ending,
+%            'svc_acct'        => $cgi_svc_acct,
+%            'ip'              => $ip,
+%            'prefix'          => $prefix, 
+%          } )
+%       }
 %   ) {
+%     if ( $bgcolor eq $bgcolor1 ) {
+%       $bgcolor = $bgcolor2;
+%     } else {
+%       $bgcolor = $bgcolor1;
+%     }
 
       <TR>
 %     foreach my $field ( keys %efields ) { 
-%       if ( $bgcolor eq $bgcolor1 ) {
-%         $bgcolor = $bgcolor2;
-%       } else {
-%         $bgcolor = $bgcolor1;
-%       }
+%       my $html = &{ $efields{$field}->{fmt} }( $session->{$field},
+%                                                $session,
+%                                                $part_export,
+%                                              );
+%       my $class = ( $html =~ /<TABLE/ ? 'inv' : 'grid' );
 
-        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>" ALIGN="<% $efields{$field}->{align} %>">
-          <% &{ $efields{$field}->{fmt} }( $session->{$field},
-                                           $session,
-                                           $part_export,
-                                         )
-          %>
+        <TD CLASS="<%$class%>" BGCOLOR="<% $bgcolor %>" ALIGN="<% $efields{$field}->{align} %>">
+          <% $html %>
         </TD>
 %     } 
   </TR>
 
 % } 
 
-
 <%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('List rating data');
+
 ###
 # parse cgi params
 ###
 
 #sort of false laziness w/cust_pay.cgi
-my $beginning = '';
-my $ending = '';
-if ( $cgi->param('beginning')
-     && $cgi->param('beginning') =~ /^([ 0-9\-\/]{0,10})$/ ) {
-  $beginning = str2time($1);
+my( $beginning, $ending ) = ( '', '' );
+if ( $cgi->param('stoptime_beginning')
+     && $cgi->param('stoptime_beginning') =~ /^([ 0-9\-\/\:\w]{0,54})$/ ) {
+  $beginning = parse_datetime($1);
 }
-if ( $cgi->param('ending')
-     && $cgi->param('ending') =~ /^([ 0-9\-\/]{0,10})$/ ) {
-  $ending = str2time($1) + 86399;
+if ( $cgi->param('stoptime_ending')
+     && $cgi->param('stoptime_ending') =~ /^([ 0-9\-\/\:\w]{0,54})$/ ) {
+  $ending = parse_datetime($1); # + 86399;
 }
 if ( $cgi->param('begin') && $cgi->param('begin') =~ /^(\d+)$/ ) {
   $beginning = $1;
@@ -107,6 +113,21 @@ if ( $cgi->param('end') && $cgi->param('end') =~ /^(\d+)$/ ) {
   $ending = $1;
 }
 
+my $open_sessions = '';
+if ( $cgi->param('open_sessions') =~ /^(\d*)$/ ) {
+  $open_sessions = $1;
+}
+
+my( $starttime_beginning, $starttime_ending ) = ( '', '' );
+if ( $cgi->param('starttime_beginning')
+     && $cgi->param('starttime_beginning') =~ /^([ 0-9\-\/\:\w]{0,54})$/ ) {
+  $starttime_beginning = parse_datetime($1);
+}
+if ( $cgi->param('starttime_ending')
+     && $cgi->param('starttime_ending') =~ /^([ 0-9\-\/\:\w]{0,54})$/ ) {
+  $starttime_ending = parse_datetime($1); # + 86399;
+}
+
 my $cgi_svc_acct = '';
 if ( $cgi->param('svcnum') =~ /^(\d+)$/ ) {
   $cgi_svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $1 } );
@@ -222,12 +243,12 @@ my $duration_format = sub {
   my $hour = int($seconds/3600);
   my $min = int( ($seconds%3600) / 60 );
   my $sec = $seconds%60;
-  '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>'.
-  '<TR><TD ALIGN="right">'.
+  '<TABLE CLASS="inv" BORDER=0 CELLSPACING=0 CELLPADDING=0>'.
+  '<TR><TD CLASS="inv" ALIGN="right">'.
      ( $hour ? "<B>$hour</B>h" : '&nbsp;' ).
-   '</TD><TD ALIGN="right">'.
+   '</TD><TD CLASS="inv" ALIGN="right">'.
      ( ( $hour || $min ) ? "<B>$min</B>m" : '&nbsp;' ).
-   '</TD><TD ALIGN="right">'.
+   '</TD><TD CLASS="inv" ALIGN="right">'.
      "<B>$sec</B>s".
   '</TD></TR></TABLE>';
 };