1 <%= $url = "$selfurl?session=$session_id;action=";
2 @svc_acct = grep { $_->{svcdb} eq 'svc_acct' } @svcs;
3 @svc_phone = grep { $_->{svcdb} eq 'svc_phone' } @svcs;
4 @svc_port = grep { $_->{svcdb} eq 'svc_port' } @svcs;
7 <%= include('header', 'Account usage') %>
10 $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">$error</FONT><BR><BR>!;
13 <%= if ( @svc_acct ) {
14 $OUT.= '<TABLE BGCOLOR="#cccccc">
16 <TH ALIGN="left">Account</TH>
17 <TH ALIGN="right">Time remaining</TH>
18 <TH ALIGN="right">Upload remaining</TH>
19 <TH ALIGN="right">Download remaining</TH>
20 <TH ALIGN="right">Total remaining</TH>
27 <%= foreach my $svc ( @svc_acct ) {
28 my $link = "${url}view_usage_details;".
29 "svcnum=$svc->{'svcnum'};beginning=0;ending=0";
30 my $username = $svc->{'value'};
31 $username =~ s/@.*?$//g if $view_usage_nodomain;
33 $OUT .= qq!<A HREF="$link">!. $svc->{'label'}. ': '. $username .'</A>';
34 $OUT .= '</TD><TD ALIGN="right">';
35 $OUT .= $svc->{'seconds'};
36 $OUT .= '</TD><TD ALIGN="right">';
37 $OUT .= $svc->{'upbytes'};
38 $OUT .= '</TD><TD ALIGN="right">';
39 $OUT .= $svc->{'downbytes'};
40 $OUT .= '</TD><TD ALIGN="right">';
41 $OUT .= $svc->{'totalbytes'};
43 if ( $svc->{'recharge_amount'} ) {
44 my $link = "${url}process_order_recharge;".
45 "svcnum=$svc->{'svcnum'}";
46 $OUT .= '<TR><TD ALIGN="right">';
47 $OUT .= qq!<A HREF="$link">!.'Recharge for $';
48 $OUT .= $svc->{'recharge_amount'} . '</A> with';
49 $OUT .= '</TD><TD ALIGN="right">';
50 $OUT .= $svc->{'recharge_seconds'} if $svc->{'recharge_seconds'};
51 $OUT .= '</TD><TD ALIGN="right">';
52 $OUT .= $svc->{'recharge_upbytes'} if $svc->{'recharge_upbytes'};
53 $OUT .= '</TD><TD ALIGN="right">';
54 $OUT .= $svc->{'recharge_downbytes'} if $svc->{'recharge_downbytes'};
55 $OUT .= '</TD><TD ALIGN="right">';
56 $OUT .= $svc->{'recharge_totalbytes'} if $svc->{'recharge_totalbytes'};
62 <%= scalar(@svc_acct) ? '</TABLE><BR><BR>' : '' %>
64 <%= if ( @svc_phone ) {
66 for my $dir (qw(outbound inbound)) {
67 $any{$dir} = grep { $_->{$dir} } @svc_phone;
69 $OUT.= '<FONT SIZE="4">Call usage</FONT><BR><BR>
70 <TABLE BGCOLOR="#cccccc">
72 <TH ALIGN="left">Number</TH>';
73 if ( $any{outbound} ) {
77 if ( $any{inbound} ) {
87 <%= foreach my $svc_phone ( @svc_phone ) {
88 my $link = "${url}view_cdr_details;".
89 "svcnum=$svc_phone->{'svcnum'};beginning=0;ending=0";
90 $OUT .= '<TR><TD>'. $svc_phone->{'label'}. ': '. $svc_phone->{'value'};
92 # usage summary w/ links
93 for my $dir (qw(outbound inbound)) {
94 if ( $dir eq 'inbound' ) {
95 $link .= ';inbound=1';
97 if ( $svc_phone->{$dir} ) {
98 $OUT .= '<TD ALIGN="right">'.qq!<A HREF="$link">! .
99 sprintf('%d calls (%.0f minutes)',
100 $svc_phone->{$dir}->{'count'},
101 $svc_phone->{$dir}->{'duration'} / 60
104 } elsif ( $any{$dir} ) {
113 <%= scalar(@svc_phone) ? '</TABLE><BR><BR>' : '' %>
115 <%= if ( @svc_port ) {
116 $OUT.= '<FONT SIZE="4">Bandwidth Graphs</FONT><BR><BR>
117 <script type="text/javascript">
118 function preset_range(start,end,prefix){
119 document.getElementById(prefix+\'_start\').value = start;
120 document.getElementById(prefix+\'_end\').value = end;
123 <TABLE BGCOLOR="#cccccc">
125 <TH ALIGN="left">Service</TH>
136 my($start,$end,$label,$date_format,$prefix) = (shift,shift,shift,shift,shift);
137 $start = Date::Format::time2str($date_format,$start);
138 $end = Date::Format::time2str($date_format,$end);
139 return '<A HREF="javascript:void(0);" onclick="preset_range(\''
140 .$start.'\',\''.$end.'\',\''.$prefix.'\')">'.$label.'</A>';
143 foreach my $svc_port ( @svc_port ) {
144 $svcnum = $svc_port->{'svcnum'};
146 $default_start = $default_end-86400;
148 $OUT .= '<TR><TD>'. $svc_port->{'label'}. ': '. $svc_port->{'value'}.'</TD>';
149 $OUT .= qq! <TD><FORM ACTION="$url" METHOD="GET">
150 <INPUT TYPE="hidden" name="svcnum" value="$svcnum">
151 <INPUT TYPE="hidden" name="action" value="view_port_graph">
152 <INPUT TYPE="hidden" name="session" value="$session_id"> !;
153 $OUT .= preset_range($default_start,$default_end,'Last Day',$date_format,$svcnum)
154 .' | '.preset_range($default_end-86400*7,$default_end,'Last Week',$date_format,$svcnum)
155 .' | '.preset_range($default_end-86400*30,$default_end,'Last Month',$date_format,$svcnum)
156 .' | '.preset_range($default_end-86400*365,$default_end,'Last Year',$date_format,$svcnum);
159 Start Date <INPUT TYPE="TEXT" id="${svcnum}_start" name="${svcnum}_start" SIZE="10" MAXLENGTH="10">
160 End Date <INPUT TYPE="TEXT" id="${svcnum}_end" name="${svcnum}_end" SIZE="10" MAXLENGTH="10">
162 <INPUT TYPE="submit" value="Display"> !;
164 $OUT .= '</FORM></TD></TR>';
168 <%= scalar(@svc_port) ? '</TABLE><BR><BR>' : '' %>
172 <%= include('footer') %>