summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2015-11-23 13:17:02 -0800
committerIvan Kohler <ivan@freeside.biz>2015-11-23 13:17:02 -0800
commit2556ee7497c7684b75eca0061457d21b9b315dc1 (patch)
treedbc3784c0975882d8df853284942e2faefd3538f /httemplate
parent155cb2a71481bdcaad6fd66bbe9d804c64d7c29d (diff)
deal when Net::MAC::Vendor-lookup doesn't return an arrayref
Diffstat (limited to 'httemplate')
-rw-r--r--httemplate/search/sqlradius.cgi243
1 files changed, 122 insertions, 121 deletions
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 %>
</FONT><BR>
- <% 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!<A HREF="${p}view/cust_main.cgi?!. $cust_main->custnum. '">'.
- $cust_pkg->cust_main->name. '</A>';
+ encode_entities($cust_pkg->cust_main->name). '</A>';
};
my $time_format = sub {
@@ -308,135 +310,134 @@ my $octets_format = sub {
sprintf('<B>%.3f</B>&nbsp;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).
+ ' <span style="white-space: nowrap">('.
+ encode_entities($vendor->[0]).
+ ')</span>';
+ }
+ length($value) ? encode_entities($value) : '&nbsp';
+};
+
+
###
# 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&nbsp;Address',
- attrib => 'Framed-IP-Address',
- fmt => sub { my $ip = shift;
- length($ip) ? $ip : '&nbsp';
- },
- align => 'right',
- },
- 'callingstationid' => {
- name => 'Source&nbsp;or&nbsp;MAC',
- attrib => 'Calling-Station-Id',
- fmt => sub {
- my $src = shift;
- if ( $src =~
- /^\s*(([\dA-F]{2}[\-:]){5}[\dA-F]{2})/i ) {
- return $src. ' <span style="white-space: nowrap">('.
- (Net::MAC::Vendor::lookup($1))->[0].
- ')</span>';
-
- }
- length($src) ? $src : '&nbsp';
+
+ 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. ' <span style="white-space: nowrap">('.
- (Net::MAC::Vendor::lookup($1))->[0].
- ')</span>';
- }
- length($dst) ? $dst : '&nbsp';
+ 'realm' => {
+ name => 'Realm',
+ attrib => 'Realm',
+ align => 'left',
},
- align => 'left',
- },
- 'acctstarttime' => {
- name => 'Start&nbsp;time',
- attrib => 'Acct-Start-Time',
- fmt => $time_format,
- align => 'left',
- },
- 'acctstoptime' => {
- name => 'End&nbsp;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&nbsp;Address',
+ attrib => 'Framed-IP-Address',
+ fmt => sub { my $ip = shift;
+ length($ip) ? $ip : '&nbsp';
+ },
+ align => 'right',
+ },
+ 'callingstationid' => {
+ name => 'Source&nbsp;or&nbsp;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&nbsp;time',
+ attrib => 'Acct-Start-Time',
+ fmt => $time_format,
+ align => 'left',
+ },
+ 'acctstoptime' => {
+ name => 'End&nbsp;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 : '&nbsp'; }
+$fields{$_}->{fmt} ||= sub { length($_[0]) ? encode_entities(shift) : '&nbsp'; }
foreach keys %fields;
</%init>