<?
include "./auth.inc.php";
include "./hms.inc.php";
$color1 = '#FFFFFF';
$color2 = '#DDDDDD';
?><HTML>
<HEAD>
<TITLE>Calls</TITLE>
</HEAD>
<BODY bgcolor=white>
Calls.<BR>
<?
if ($security>90)
print "<A HREF=\"calls.php?archive=1\">Archived Calls</A><BR>";
include "./mysql.inc.php";
#print $CustomerID;
if (!$start)
$start="0";
if (!$num)
$num="40";
if ($archive)
$radacct = 'radacctarchive';
else
$radacct = 'radacct';
$saql="SELECT Login FROM SubAccounts WHERE CustomerID=$CustomerID";
$sares=mysql_query($saql);
$sql="SELECT UserName,
FramedIPAddress,
NASIPAddress,
CallingStationId,
CalledStationId,
ConnectInfo,
AcctSessionTime,
AcctOutputOctets,
AcctInputOctets,
realtime,
Date_Format(realtime,'%D %b %Y') as rtd,
Date_Format(realtime,'%r') as rtt,
tstamp,
AcctTerminateCause
FROM $radacct WHERE (";
if ($asrow){
while ($asrow=mysql_fetch_row($sares)){
$sql=$sql." UserName='$asrow[0]' OR";
}
}
$sql=substr($sql,0,strlen($sql)-2);
$sql=$sql.") AND AcctStatusType='Stop' ORDER BY realtime DESC LIMIT $start,$num";
$radacct = 'who';
$startsql="SELECT UserName,
FramedIPAddress,NASIPAddress,
CallingStationId,CalledStationId,
ConnectInfo,AcctStatusType,
AcctSessionTime,AcctOutputOctets,
AcctInputOctets,realtime,
AcctTerminateCause FROM $radacct WHERE (";
if ($sares){
mysql_data_seek($sares,0);
}
if ($asrow){
while ($asrow=mysql_fetch_row($sares)){
$startsql=$startsql." UserName='$asrow[0]' OR";
}
}
$startsql=substr($startsql,0,strlen($startsql)-2);
$startsql=$startsql.") ORDER BY tstamp";
$startres=mysql_query($startsql);
#if ($startres)
# $startrow=mysql_fetch_array($startres);
#else{
# print "Oops, no calls";
# exit;
#
#}
print "<FORM>";
print "Number of Calls: <INPUT NAME=num TYPE=TEXT VALUE=\"$num\">";
print "<INPUT TYPE=HIDDEN NAME=archive VALUE=\"$archive\">";
print "<INPUT TYPE=SUBMIT>";
print "</FORM>";
print "<TABLE BORDER=1>";
print "<TR><TH>Login</TH><TH>Minutes</TH><TH>Date</TH><TH>Time</TH><TH>Data To</TH><TH>Data From</TH>
<TH>%33.6 Util</TH><TH>CallerID</TH><TH>Called</TH><TH>Connect
Info</TH><TH>Terminate</TH></TR>";
if ($startrow){
while ($startrow=mysql_fetch_array($startres)){
print "<TR><TD COLSPAN=2><FONT COLOR=RED>Call In Progress: $startrow[UserName]";
print "<TD colspan=2>$startrow[realtime]</TD>";
print "<TD COLSPAN=3>$startrow[FramedIPAddress]</TD>";
print "<TD>$startrow[CallingStationId]</TD>";
print "<TD>$startrow[CalledStationId]</TD>";
print "<TD colspan=2>$startrow[ConnectInfo]</TD>";
print "</TR>\n";
}
}
$res=mysql_query($sql);
if ($res){
if (!mysql_num_rows($res))
die("There is no call data available for this user.");
while ($row=mysql_fetch_array($res)){
$j++;
$sum+=$row[AcctSessionTime];
$bsum+=$row[AcctOutputOctets];
$msum+=$row[AcctSessionTime];
$dsum+=$row[AcctOutputOctets];
$thismonth=substr($row[realtime],6,2);
if (!$i)
$lastmonth=$thismonth;
if (($thismonth <> $lastmonth)){
print "<TR><TD><b>Total</b></TD><TD><B>";
print intval($msum/3600);
print " hrs</b></TD><TD><B>$j Calls</B></TD><TD>";
print intval($dsum/1000000)+1;
print "Mb</TD><TD>";
print intval(($dsum/100)/$msum)/10;
print "kb/s</TD></TR>";
$msum=0;
$dsum=0;
$lastmonth=$thismonth;
}
$i++;
if ($j%10)
$fcolor=$color1;
else
$fcolor=$color2;
print "<TR bgcolor=$fcolor>";
print "<TD>$row[UserName]</TD><TD>";
#print intval($row[AcctSessionTime]/60)+1;
print hms($row[AcctSessionTime]);
print "</TD><TD>";
if ($row[rtd] == $dtemp)
print " ";
else{
print $row[rtd];
$dtemp = $row[rtd];
}
print "</TD>\n";
print "<TD>$row[rtt]</TD>";
print "<TD>".number_format($row[AcctOutputOctets])."</TD>\n";
print "<TD>".number_format($row[AcctInputOctets])."</TD>\n";
if ($row[AcctSessionTime])
$util =intval( 100*($row[AcctOutputOctets]/$row[AcctSessionTime])/(33600/8));
else
$util=0;
print "<TD>";
if ($util>25){
print "<FONT COLOR=RED>";
}
print "$util</TD>";
print "<TD>$row[CallingStationId] / $row[FramedIPAddress]</TD>";
switch($row[CalledStationId]){
case '83917077':
$called='56K';
break;
case '83917078':
$called='Slow';
break;
case '83917079':
$called='Skip';
break;
case '83917034':
$called='permanent';
break;
default:
$called=$row[CalledStationId];
}
if (!ereg("([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})",$row[NASIPAddress],$reg))
$reg='';
print "<TD>$called@$reg[4]</TD>";
print "<TD><FONT SIZE=-2>$row[ConnectInfo]</FONT></TD>";
print "<TD><FONT SIZE=-2>$row[AcctTerminateCause]</FONT></TD>";
print "</TR>";
}
if ($sum && $dsum){
print "<TR><TD><b>Grand Total</b></TD><TD><B>";
print intval($sum/3600);
print " hrs</b></TD><TD><B>$j Calls</B></TD><TD>";
print intval($bsum/1000000)+1;
print "Mb</TD><TD>";
print intval(($bsum/100)/$sum)/10;
print "kb/s</TD></TR>";
}else{
print "<TR><TD COLSPAN=7>Oops, no total!?</TD></TR>";
}
}
?>
</TABLE>
<? #print intval($sum/60); ?>
</BODY>
</HTML>