X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Fsqlradius.cgi;h=84f1f40ef959f1e65d8bd418b56e37735955cab1;hb=dc12bf866909b5f69818f3dd24c4c3801c1a9084;hp=5d6aeea1efe52481b93a7e1b35ae54ef438e3961;hpb=01717353564b79dd143220ec67207a2d245f24e9;p=freeside.git
diff --git a/httemplate/search/sqlradius.cgi b/httemplate/search/sqlradius.cgi
index 5d6aeea1e..84f1f40ef 100644
--- a/httemplate/search/sqlradius.cgi
+++ b/httemplate/search/sqlradius.cgi
@@ -1,4 +1,4 @@
-<% include( '/elements/header.html', 'RADIUS Sessions') %>
+<& /elements/header.html, 'RADIUS Sessions' &>
% ###
% # and finally, display the thing
@@ -19,7 +19,7 @@
<% $part_export->machine ? ' to '. $part_export->machine : '' |h %>
- <% include( '/elements/table-grid.html' ) %>
+ <& /elements/table-grid.html &>
% my $bgcolor1 = '#eeeeee';
% my $bgcolor2 = '#ffffff';
% my $bgcolor;
@@ -245,6 +245,8 @@ my $user_format = sub {
}
+ $user = encode_entities($user);
+
if ( $svc ) {
#i should use svc_link, but that's expensive per-user
@@ -267,7 +269,7 @@ my $customer_format = sub {
my $cust_main = $cust_pkg->cust_main;
qq!'.
- $cust_pkg->cust_main->name. '';
+ encode_entities($cust_pkg->cust_main->name). '';
};
my $time_format = sub {
@@ -308,135 +310,134 @@ my $octets_format = sub {
sprintf('%.3f gigs', $gigs);
};
+my $mac_format = sub {
+ my $value = shift;
+ if ( $value =~ /^\s*(([\dA-F]{2}[\-:]){5}[\dA-F]{2})/i
+ and my $vendor = Net::MAC::Vendor::lookup($1)
+ )
+ {
+ return encode_entities($value).
+ ' ('.
+ encode_entities($vendor->[0]).
+ ')';
+ }
+ length($value) ? encode_entities($value) : ' ';
+};
+
+
###
# the fields
###
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',
- },
-;
+
+ 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',
- fmt => $user_format,
- align => 'left',
- },
- 'realm' => {
- name => 'Realm',
- attrib => 'Realm',
- align => 'left',
- },
- 'dummy' => {
- name => 'Customer',
- attrib => '',
- fmt => $customer_format,
- align => 'left',
- },
- 'framedipaddress' => {
- name => 'IP Address',
- attrib => 'Framed-IP-Address',
- fmt => sub { my $ip = shift;
- length($ip) ? $ip : ' ';
- },
- align => 'right',
- },
- 'callingstationid' => {
- name => 'Source or MAC',
- attrib => 'Calling-Station-Id',
- fmt => sub {
- my $src = shift;
- if ( $src =~
- /^\s*(([\dA-F]{2}[\-:]){5}[\dA-F]{2})/i ) {
- return $src. ' ('.
- (Net::MAC::Vendor::lookup($1))->[0].
- ')';
-
- }
- length($src) ? $src : ' ';
+
+ tie %fields, 'Tie::IxHash',
+ 'username' => {
+ name => 'User',
+ attrib => 'UserName',
+ fmt => $user_format,
+ align => 'left',
},
- align => 'right',
- },
- 'calledstationid' => {
- name => 'Destination',
- attrib => 'Called-Station-ID',
- fmt => sub {
- my $dst = shift;
- if ( $dst =~
- /^\s*(([\dA-F]{2}[\-:]){5}[\dA-F]{2})/i ) {
- return $dst. ' ('.
- (Net::MAC::Vendor::lookup($1))->[0].
- ')';
- }
- length($dst) ? $dst : ' ';
+ 'realm' => {
+ name => 'Realm',
+ attrib => 'Realm',
+ align => 'left',
},
- align => 'left',
- },
- 'acctstarttime' => {
- name => 'Start time',
- attrib => 'Acct-Start-Time',
- fmt => $time_format,
- align => 'left',
- },
- 'acctstoptime' => {
- name => 'End time',
- attrib => 'Acct-Stop-Time',
- fmt => $time_format_or_open,
- 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',
+ 'dummy' => {
+ name => 'Customer',
+ attrib => '',
+ fmt => $customer_format,
+ align => 'left',
+ },
+ 'framedipaddress' => {
+ name => 'IP Address',
+ attrib => 'Framed-IP-Address',
+ fmt => sub { my $ip = shift;
+ length($ip) ? $ip : ' ';
+ },
+ align => 'right',
+ },
+ 'callingstationid' => {
+ name => 'Source or MAC',
+ attrib => 'Calling-Station-Id',
+ fmt => $mac_format,
+ align => 'right',
+ },
+ 'calledstationid' => {
+ name => 'Destination',
+ attrib => 'Called-Station-ID',
+ fmt => $mac_format,
+ align => 'left',
},
-;
+ 'acctstarttime' => {
+ name => 'Start time',
+ attrib => 'Acct-Start-Time',
+ fmt => $time_format,
+ align => 'left',
+ },
+ 'acctstoptime' => {
+ name => 'End time',
+ attrib => 'Acct-Stop-Time',
+ fmt => $time_format_or_open,
+ 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',
+ },
+ ;
}
-$fields{$_}->{fmt} ||= sub { length($_[0]) ? shift : ' '; }
+$fields{$_}->{fmt} ||= sub { length($_[0]) ? encode_entities(shift) : ' '; }
foreach keys %fields;
%init>