Files
agc_2-X/www/vicidial/vdremote.php
T
mattf 528ffe3990 Changed all administrative web interface text to be output through new QXZ function instead of echo, reports are not done yet
Changed all default VICIdial logos to new logos

git-svn-id: svn://192.168.202.10@2183 3d104415-ff17-0410-8863-d5cf3c621b8a
2014-11-11 11:01:32 +00:00

585 lines
23 KiB
PHP

<?php
# vdremote.php
#
# make sure you have added a user to the vicidial_users MySQL table with at
# least user_level 4 to access this page the first time
#
# Copyright (C) 2014 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
#
# Changes
# 50307-1721 - First version
# 51123-1502 - removed requirement of PHP Globals=on
# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES
# 60619-1603 - Added variable filtering to eliminate SQL injection attack threat
# 90508-0644 - Changed to PHP long tags
# 91129-2249 - Replaced SELECT STAR in SQL queries, formatting fixes
# 120223-2135 - Removed logging of good login passwords if webroot writable is enabled
# 130610-1105 - Finalized changing of all ereg instances to preg
# 130616-0005 - Added filtering of input to prevent SQL injection attacks and new user auth
# 130901-0833 - Changed to mysqli PHP functions
# 140328-0005 - Converted division calculations to use MathZDC function
# 141007-2123 - Finalized adding QXZ translation to all admin files
#
$version = '2.8-11';
$build = '141007-2123';
require("dbconnect_mysqli.php");
require("functions.php");
$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
$PHP_SELF=$_SERVER['PHP_SELF'];
if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];}
elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];}
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];}
if (isset($_GET["user"])) {$user=$_GET["user"];}
elseif (isset($_POST["user"])) {$user=$_POST["user"];}
if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];}
elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];}
if (isset($_GET["groups"])) {$groups=$_GET["groups"];}
elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];}
if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];}
elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];}
if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];}
elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];}
if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];}
elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];}
if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];}
elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];}
if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];}
elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];}
if (isset($_GET["status"])) {$status=$_GET["status"];}
elseif (isset($_POST["status"])) {$status=$_POST["status"];}
if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];}
elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];}
if (isset($_GET["groups"])) {$groups=$_GET["groups"];}
elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];}
if (isset($_GET["submit"])) {$submit=$_GET["submit"];}
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];}
elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];}
if (!isset($force_logout)) {$force_logout = 0;}
if ($force_logout)
{
if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) )
{
Header("WWW-Authenticate: Basic realm=\"CONTACT-CENTER-ADMIN\"");
Header("HTTP/1.0 401 Unauthorized");
}
echo _QXZ("You have now logged out. Thank you")."\n";
exit;
}
if (!isset($query_date)) {$query_date = $NOW_DATE;}
$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER);
$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW);
$remote_agent_id = preg_replace('/[^0-9a-zA-Z]/', '', $remote_agent_id);
$query_date = preg_replace('/[^-_0-9a-zA-Z]/', '', $query_date);
$popup_page = './closer_popup.php';
$STARTtime = date("U");
$NOW_DATE = date("Y-m-d");
$NOW_TIME = date("Y-m-d H:i:s");
$date = date("r");
$ip = getenv("REMOTE_ADDR");
$browser = getenv("HTTP_USER_AGENT");
$auth=0;
$auth_message = user_authorization($PHP_AUTH_USER,$PHP_AUTH_PW,'REMOTE',1);
if ($auth_message == 'GOOD')
{$auth=1;}
if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
{
Header("WWW-Authenticate: Basic realm=\"CONTACT-CENTER-ADMIN\"");
Header("HTTP/1.0 401 Unauthorized");
echo _QXZ("Invalid Username/Password").": |$PHP_AUTH_USER|$PHP_AUTH_PW|$auth_message|\n";
exit;
}
else
{
header ("Content-type: text/html; charset=utf-8");
if($auth>0)
{
$stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER';";
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
$LOGfullname=$row[0];
$stmt="SELECT count(*) from vicidial_remote_agents where user_start='$PHP_AUTH_USER';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
$authx=$row[0];
if($authx>0)
{
$stmt="SELECT remote_agent_id,server_ip,number_of_lines from vicidial_remote_agents where user_start='$PHP_AUTH_USER';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
$remote_agent_id=$row[0];
$server_ip=$row[1];
if (!$number_of_lines) {$number_of_lines=$row[2];}
}
else
{
echo _QXZ("This remote agent does not exist").": |$PHP_AUTH_USER|\n";
exit;
}
}
}
echo "<html>\n";
echo "<head>\n";
echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n";
if ($ADD==61111)
{
echo"<META HTTP-EQUIV=Refresh CONTENT=\"5; URL=$PHP_SELF?ADD=61111&user=$user&DB=$DB\">\n";
}
echo "<!-- VERSION: $version BUILD: $build -->\n";
?>
<STYLE type="text/css">
<!--
.green {color: white; background-color: green}
.red {color: white; background-color: red}
.blue {color: white; background-color: blue}
.purple {color: white; background-color: purple}
.yellow {color: black; background-color: yellow}
.orange {color: black; background-color: orange}
-->
</STYLE>
<?php
echo "<title>REMOTE AGENTS: $LOGfullname - $PHP_AUTH_USER ";
if (!$ADD) {$ADD="31111";}
if ($ADD==31111) {echo "Modify Remote Agents";}
if ($ADD==41111) {echo "Modify Remote Agents";}
if ($ADD==61111) {echo "Remote Agent Status";}
if ($ADD==71111) {echo "Remote Agent Closer Stats";}
if (strlen($ADD)>4)
{
##### get server listing for dynamic pulldown
$stmt="SELECT server_ip,server_description from servers order by server_ip;";
$rslt=mysql_to_mysqli($stmt, $link);
$servers_to_print = mysqli_num_rows($rslt);
$servers_list='';
$o=0;
while ($servers_to_print > $o)
{
$rowx=mysqli_fetch_row($rslt);
$servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n";
$o++;
}
##### get campaigns listing for dynamic pulldown
$stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id;";
$rslt=mysql_to_mysqli($stmt, $link);
$campaigns_to_print = mysqli_num_rows($rslt);
$campaigns_list='';
$o=0;
while ($campaigns_to_print > $o)
{
$rowx=mysqli_fetch_row($rslt);
$campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n";
$o++;
}
##### get inbound groups listing for checkboxes
if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) )
{
$stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='" . mysqli_real_escape_string($link, $remote_agent_id) . "';";
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
$closer_campaigns = $row[0];
$closer_campaigns = preg_replace("/ -$/","",$closer_campaigns);
$groups = explode(" ", $closer_campaigns);
}
$stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id;";
$rslt=mysql_to_mysqli($stmt, $link);
$groups_to_print = mysqli_num_rows($rslt);
$groups_list='';
$groups_value='';
$o=0;
while ($groups_to_print > $o)
{
$rowx=mysqli_fetch_row($rslt);
$group_id_value = $rowx[0];
$group_name_value = $rowx[1];
$groups_list .= "<input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_value\"";
$p=0;
while ($p<50)
{
if ($group_id_value == $groups[$p])
{
$groups_list .= " CHECKED";
$groups_value .= " $group_id_value";
}
$p++;
}
$groups_list .= "> $group_id_value - $group_name_value<BR>\n";
$o++;
}
if (strlen($groups_value)>2) {$groups_value .= " -";}
}
?>
</title>
</head>
<BODY BGCOLOR=white marginheight=0 marginwidth=0 leftmargin=0 topmargin=0>
<CENTER>
<TABLE WIDTH=620 BGCOLOR=#D9E6FE cellpadding=2 cellspacing=0><TR BGCOLOR=#015B91><TD ALIGN=LEFT><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B> &nbsp; <?php echo _QXZ("REMOTE AGENTS"); ?>: <?php echo "$PHP_AUTH_USER " ?> &nbsp; <a href="<?php echo $PHP_SELF ?>?force_logout=1"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=1><?php echo _QXZ("Logout"); ?></a></TD><TD ALIGN=RIGHT><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B><?php echo date("l F j, Y G:i:s A") ?> &nbsp; </TD></TR>
<TR BGCOLOR=#F0F5FE><TD ALIGN=LEFT COLSPAN=2><FONT FACE="ARIAL,HELVETICA" COLOR=BLACK SIZE=1> &nbsp; <a href="./vdremote.php"><FONT FACE="ARIAL,HELVETICA" COLOR=BLACK SIZE=1><?php echo _QXZ("MODIFY"); ?></a> | <a href="./vdremote.php?ADD=61111&user=<?php echo "$PHP_AUTH_USER" ?>"><FONT FACE="ARIAL,HELVETICA" COLOR=BLACK SIZE=1><?php echo _QXZ("STATUS"); ?></a> | <a href="./vdremote.php?ADD=71111&user=<?php echo "$PHP_AUTH_USER" ?>"><FONT FACE="ARIAL,HELVETICA" COLOR=BLACK SIZE=1><?php echo _QXZ("INBOUND STATS"); ?></a></TD></TR>
<TR><TD ALIGN=LEFT COLSPAN=2>
<?php
######################
# ADD=31111 modify remote agents info in the system
######################
if ($ADD==31111)
{
echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>";
$stmt="SELECT remote_agent_id,user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns from vicidial_remote_agents where remote_agent_id='" . mysqli_real_escape_string($link, $remote_agent_id) . "';";
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
$remote_agent_id = $row[0];
$user_start = $row[1];
$number_of_lines = $row[2];
$server_ip = $row[3];
$conf_exten = $row[4];
$status = $row[5];
$campaign_id = $row[6];
echo "<br>"._QXZ("MODIFY A REMOTE AGENTS ENTRY").": $row[0]<form action=$PHP_SELF method=POST>\n";
echo "<input type=hidden name=ADD value=41111>\n";
echo "<input type=hidden name=remote_agent_id value=\"$row[0]\">\n";
echo "<center><TABLE width=600 cellspacing=3>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("User ID Start").": </td><td align=left>$user_start</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Number of Lines").": </td><td align=left><input type=text name=number_of_lines size=3 maxlength=3 value=\"$number_of_lines\"> ("._QXZ("numbers only").")</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Server IP").": </td><td align=left>$row[3]</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("External Extension").": </td><td align=left><input type=text name=conf_exten size=20 maxlength=20 value=\"$conf_exten\"> ("._QXZ("number dialed to reach agents")." [i.e. 913125551212])</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Status").": </td><td align=left><select size=1 name=status><option SELECTED value='ACTIVE'>"._QXZ("ACTIVE")."</option><option value='INACTIVE'>"._QXZ("INACTIVE")."</option><option SELECTED value='$status'>"._QXZ("$status")."</option></select></td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Campaign").": </td><td align=left>$campaign_id</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Inbound Groups").": </td><td align=left>\n";
echo "$groups_list";
echo "</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=submit value='"._QXZ("submit")."'></td></tr>\n";
echo "</TABLE></center>\n";
echo _QXZ("NOTE: It can take up to 30 seconds for changes submitted on this screen to go live")."\n";
}
######################
# ADD=41111 modify remote agents info in the system
######################
if ($ADD==41111)
{
echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>";
if ( (strlen($number_of_lines) < 1) or (strlen($conf_exten) < 2) )
{echo "<br>"._QXZ("REMOTE AGENTS NOT MODIFIED - Please go back and look at the data you entered")."\n";}
else
{
$stmt="UPDATE vicidial_remote_agents set number_of_lines='" . mysqli_real_escape_string($link, $number_of_lines) . "', conf_exten='" . mysqli_real_escape_string($link, $conf_exten) . "', status='" . mysqli_real_escape_string($link, $status) . "', closer_campaigns='" . mysqli_real_escape_string($link, $groups_value) . "' where remote_agent_id='" . mysqli_real_escape_string($link, $remote_agent_id) . "';";
$rslt=mysql_to_mysqli($stmt, $link);
# echo "$stmt\n";
echo "<br>REMOTE AGENTS MODIFIED\n";
### LOG CHANGES TO LOG FILE ###
# $fp = fopen ("./admin_changes_log.txt", "a");
# fwrite ($fp, "$date|MODIFY REMOTE AGENTS ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n");
# fclose($fp);
}
$stmt="SELECT remote_agent_id,user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns from vicidial_remote_agents where remote_agent_id='" . mysqli_real_escape_string($link, $remote_agent_id) . "';";
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
$remote_agent_id = $row[0];
$user_start = $row[1];
$number_of_lines = $row[2];
$server_ip = $row[3];
$conf_exten = $row[4];
$status = $row[5];
$campaign_id = $row[6];
echo "<br>"._QXZ("MODIFY A REMOTE AGENTS ENTRY").": $row[0]<form action=$PHP_SELF method=POST>\n";
echo "<input type=hidden name=ADD value=41111>\n";
echo "<input type=hidden name=remote_agent_id value=\"$row[0]\">\n";
echo "<center><TABLE width=600 cellspacing=3>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("User ID Start").": </td><td align=left>$user_start</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Number of Lines").": </td><td align=left><input type=text name=number_of_lines size=3 maxlength=3 value=\"$number_of_lines\"> ("._QXZ("numbers only").")</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Server IP").": </td><td align=left>$row[3]</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("External Extension").": </td><td align=left><input type=text name=conf_exten size=20 maxlength=20 value=\"$conf_exten\"> ("._QXZ("number dialed to reach agents")." [i.e. 913125551212])</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Status").": </td><td align=left><select size=1 name=status><option SELECTED value='ACTIVE'>ACTIVE</option><option value='INACTIVE'>INACTIVE</option><option SELECTED value='$status'>"._QXZ("$status")."</option></select></td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Campaign").": </td><td align=left>$campaign_id</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Inbound Groups").": </td><td align=left>\n";
echo "$groups_list";
echo "</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=submit value='"._QXZ("submit")."'></td></tr>\n";
echo "</TABLE></center>\n";
echo _QXZ("NOTE: It can take up to 30 seconds for changes submitted on this screen to go live")."\n";
}
######################
# ADD=61111 status of remote agent in the system and active calls and queue
######################
if ($ADD==61111)
{
echo "<FONT FACE=\"Courier\" COLOR=BLACK SIZE=2><PRE>";
if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
{echo "<br>REMOTE AGENTS ERROR - Please go back and look at the data you entered\n";}
else
{
$users_list = '';
$k=0;
while($k < $number_of_lines)
{
$nextuser=($user + $k);
$users_list .= "'" . mysqli_real_escape_string($link, $nextuser) . "',";
$k++;
}
$users_list = preg_replace("/.$/","",$users_list);
echo "Remote Agent Time On Calls $NOW_TIME\n\n";
echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n";
echo "| STATION | USER | LEADID | CHANNEL | STATUS | START TIME | MINUTES |\n";
echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n";
$stmt="select extension,user,lead_id,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish) from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysqli_real_escape_string($link, $server_ip) . "' and user IN($users_list) order by extension;";
$rslt=mysql_to_mysqli($stmt, $link);
if ($DB) {echo "$stmt\n";}
$talking_to_print = mysqli_num_rows($rslt);
if ($talking_to_print > 0)
{
$i=0;
while ($i < $talking_to_print)
{
$leadlink=0;
$row=mysqli_fetch_row($rslt);
if (preg_match("/READY|PAUSED/i",$row[4]))
{
$row[3]='';
$row[5]=' - WAITING - ';
$row[6]=$row[7];
}
$extension = sprintf("%-10s", $row[0]);
$user = sprintf("%-6s", $row[1]);
$leadid = sprintf("%-12s", $row[2]);
if ($row[2] > 0)
{
$leadidLINK=$row[2];
$leadlink++;
if ( preg_match("/QUEUE/i",$row[4]) ) {$row[6]=$STARTtime;}
$leadid = "<a href=\"./remote_dispo.php?lead_id=$row[2]&call_began=$row[6]\" target=\"_blank\">$leadid</a>";
}
$channel = sprintf("%-10s", $row[3]);
$cc=0;
while ( (strlen($channel) > 10) and ($cc < 100) )
{
$channel = preg_replace('/.$/i', '',$channel);
$cc++;
if (strlen($channel) <= 10) {$cc=101;}
}
$status = sprintf("%-6s", $row[4]);
$start_time = sprintf("%-19s", $row[5]);
$call_time_S = ($STARTtime - $row[6]);
$call_time_M = MathZDC($call_time_S, 60);
$call_time_M = round($call_time_M, 2);
$call_time_M_int = intval("$call_time_M");
$call_time_SEC = ($call_time_M - $call_time_M_int);
$call_time_SEC = ($call_time_SEC * 60);
$call_time_SEC = round($call_time_SEC, 0);
if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
$call_time_MS = "$call_time_M_int:$call_time_SEC";
$call_time_MS = sprintf("%7s", $call_time_MS);
$G = ''; $EG = '';
if ($call_time_M_int >= 5) {$G='<SPAN class="yellow"><B>'; $EG='</B></SPAN>';}
if ($call_time_M_int >= 10) {$G='<SPAN class="orange"><B>'; $EG='</B></SPAN>';}
echo "| $G$extension$EG | $G$user$EG | $G$leadid$EG | $G$channel$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
$i++;
}
echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n";
echo " $i agents logged in on server $server_ip\n\n";
echo " <SPAN class=\"yellow\"><B> </SPAN> - 5 minutes or more on call</B>\n";
echo " <SPAN class=\"orange\"><B> </SPAN> - Over 10 minutes on call</B>\n";
}
else
{
echo "**************************************************************************************\n";
echo "********************************* NO AGENTS ON CALLS *********************************\n";
echo "**************************************************************************************\n";
}
}
echo "</PRE>\n\n";
}
######################
# ADD=71111 stats for remote agents from closer logs(vicidial_closer_log)
######################
if ($ADD==71111)
{
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>\n";
echo "<INPUT TYPE=TEXT NAME=query_date SIZE=10 MAXLENGTH=10 VALUE=\"$query_date\">\n";
echo "<INPUT TYPE=HIDDEN NAME=ADD VALUE=\"71111\">\n";
echo "<INPUT TYPE=HIDDEN NAME=user VALUE=\"$user\">\n";
echo "<INPUT TYPE=SUBMIT NAME=SUBMIT value='"._QXZ("submit")."'>\n";
echo "</FORM>\n\n";
echo "<FONT FACE=\"Courier\" COLOR=BLACK SIZE=2><PRE>";
if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
{echo "<br>REMOTE AGENTS ERROR - Please go back and look at the data you entered\n";}
else
{
$users_list = '';
$k=0;
while($k < $number_of_lines)
{
$nextuser=($user + $k);
$users_list .= "'$nextuser',";
$k++;
}
$users_list = preg_replace("/.$/","",$users_list);
$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list);";
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
$in_calls = $row[0];
$in_time = $row[1];
$in_time_M = MathZDC($in_time, 60);
$in_time_M = round($in_time_M, 2);
$in_time_M_int = intval("$in_time_M");
$in_time_SEC = ($in_time_M - $in_time_M_int);
$in_time_SEC = ($in_time_SEC * 60);
$in_time_SEC = round($in_time_SEC, 0);
if ($in_time_SEC < 10) {$in_time_SEC = "0$in_time_SEC";}
$in_time_MS = "$in_time_M_int:$in_time_SEC";
$in_time_MS = sprintf("%7s", $in_time_MS);
echo "Remote Agent inbound stats $NOW_TIME\n\n";
echo "\n";
echo "Total calls taken $query_date: $in_calls\n";
echo "Total talk time on $query_date: $in_time_MS (minutes:seconds)\n";
echo "\n";
echo "\n";
echo "Call list for $query_date:\n";
echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n";
echo "| USER | LEADID | GROUP | PHONE NUM | STATUS | CALL TIME | MINUTES |\n";
echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n";
$stmt="select user,lead_id,campaign_id,phone_number,status,call_date,length_in_sec from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list) order by call_date;";
$rslt=mysql_to_mysqli($stmt, $link);
if ($DB) {echo "$stmt\n";}
$talking_to_print = mysqli_num_rows($rslt);
if ($talking_to_print > 0)
{
$i=0;
while ($i < $talking_to_print)
{
$row=mysqli_fetch_row($rslt);
$user = sprintf("%-8s", $row[0]);
$leadid = sprintf("%-10s", $row[1]);
$group = sprintf("%-14s", $row[2]);
$phone = sprintf("%-10s", $row[3]);
$status = sprintf("%-6s", $row[4]);
$start_time = sprintf("%-19s", $row[5]);
$call_time_S = $row[6];
$call_time_M = MathZDC($call_time_S, 60);
$call_time_M = round($call_time_M, 2);
$call_time_M_int = intval("$call_time_M");
$call_time_SEC = ($call_time_M - $call_time_M_int);
$call_time_SEC = ($call_time_SEC * 60);
$call_time_SEC = round($call_time_SEC, 0);
if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
$call_time_MS = "$call_time_M_int:$call_time_SEC";
$call_time_MS = sprintf("%7s", $call_time_MS);
$G = ''; $EG = '';
# if ($call_time_M_int >= 5) {$G='<SPAN class="yellow"><B>'; $EG='</B></SPAN>';}
# if ($call_time_M_int >= 10) {$G='<SPAN class="orange"><B>'; $EG='</B></SPAN>';}
echo "| $G$user$EG | $G$leadid$EG | $G$group$EG | $G$phone$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
$i++;
}
echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n";
# echo " $i agents logged in on server $server_ip\n\n";
# echo " <SPAN class=\"yellow\"><B> </SPAN> - 5 minutes or more on call</B>\n";
# echo " <SPAN class=\"orange\"><B> </SPAN> - Over 10 minutes on call</B>\n";
}
else
{
echo "**************************************************************************************\n";
echo "********************************* NO CALLS ON THIS DAY *******************************\n";
echo "**************************************************************************************\n";
}
}
echo "</PRE>\n\n";
}
$ENDtime = date("U");
$RUNtime = ($ENDtime - $STARTtime);
echo "\n\n\n<br><br><br>\n\n";
echo "<font size=0>\n\n\n<br><br><br>\nscript runtime: $RUNtime seconds</font>";
?>
</TD></TR><TABLE>
</body>
</html>
<?php
exit;
?>