From d1b5b4e1068d45586affc2ee264ccfacac135d32 Mon Sep 17 00:00:00 2001 From: mattf Date: Tue, 8 Aug 2017 14:16:56 +0000 Subject: [PATCH] Added more qualifiers for Hungup Xfer function to be triggered in agent screen Added park log display to modify lead page and park log report git-svn-id: svn://192.168.202.10@2800 3d104415-ff17-0410-8863-d5cf3c621b8a --- agc_2-X/trunk/www/agc/conf_exten_check.php | 2 +- agc_2-X/trunk/www/agc/vicidial.php | 7 ++- agc_2-X/trunk/www/vicidial/AST_parkstats.php | 61 +++++++++++++++++++ .../trunk/www/vicidial/admin_modify_lead.php | 37 +++++++++++ 4 files changed, 103 insertions(+), 4 deletions(-) diff --git a/agc_2-X/trunk/www/agc/conf_exten_check.php b/agc_2-X/trunk/www/agc/conf_exten_check.php index 82f3ee7d..b2b33f7f 100644 --- a/agc_2-X/trunk/www/agc/conf_exten_check.php +++ b/agc_2-X/trunk/www/agc/conf_exten_check.php @@ -848,7 +848,7 @@ if ($ACTION == 'refresh') //Check if xferchannel is active $DEADxfer=0; - if(strlen($xferchannel) > 2) + if ( (strlen($xferchannel) > 2) and ($DEADcustomer < 1) ) { $stmt="SELECT count(*) FROM live_channels where channel ='$xferchannel' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/www/agc/vicidial.php b/agc_2-X/trunk/www/agc/vicidial.php index 218ee1b5..036ef6a9 100644 --- a/agc_2-X/trunk/www/agc/vicidial.php +++ b/agc_2-X/trunk/www/agc/vicidial.php @@ -560,10 +560,11 @@ # 170709-1116 - Added Xfer Hung Up notification # 170710-1802 - Added logging of clicks on webform buttons # 170725-2147 - Added counter(aec) to agent_events calls +# 170808-1014 - Added more qualifiers for Hungup Xfer function to be triggered # -$version = '2.14-530c'; -$build = '170725-2147'; +$version = '2.14-531c'; +$build = '170808-1014'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=87; $one_mysql_log=0; @@ -5546,7 +5547,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; - if(DEADxfer > 0) + if ( (DEADxfer > 0) && (CheckDEADcallON < 1) && (XD_live_customer_call > 0) ) { button_click_log = button_click_log + "" + SQLdate + "-----XferHungUp---" + document.vicidial_form.xferchannel.value + "|"; xfercall_send_hangup('YES'); diff --git a/agc_2-X/trunk/www/vicidial/AST_parkstats.php b/agc_2-X/trunk/www/vicidial/AST_parkstats.php index 4233dc5e..71b5e6fe 100644 --- a/agc_2-X/trunk/www/vicidial/AST_parkstats.php +++ b/agc_2-X/trunk/www/vicidial/AST_parkstats.php @@ -16,6 +16,7 @@ # 141230-1441 - Added code for on-the-fly language translations display # 170409-1534 - Added IP List validation code # 170412-2129 - Updated for new park logging +# 170808-0220 - Added detailed log option # $startMS = microtime(); @@ -31,6 +32,10 @@ $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; if (isset($_GET["group"])) {$group=$_GET["group"];} elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["show_details"])) {$show_details=$_GET["show_details"];} + elseif (isset($_POST["show_details"])) {$show_details=$_POST["show_details"];} +if (isset($_GET["sort_by_details"])) {$sort_by_details=$_GET["sort_by_details"];} + elseif (isset($_POST["sort_by_details"])) {$sort_by_details=$_POST["sort_by_details"];} if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} if (isset($_GET["submit"])) {$submit=$_GET["submit"];} @@ -276,6 +281,7 @@ echo "\n"; +echo "Show details\n"; echo "\n"; echo "           "._QXZ("MODIFY")." | "._QXZ("REPORTS")." \n"; echo "\n\n"; @@ -607,6 +613,61 @@ while ($i <= 96) echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n"; } +if ($show_details) { + $stmt="select * from park_log where parked_time >= '$query_date 00:00:01' and parked_time <= '$query_date 23:59:59' and channel_group='" . mysqli_real_escape_string($link, $group) . "' order by parked_time, grab_time, hangup_time desc"; + $rslt=mysql_to_mysqli($stmt, $link); + + if (!$lower_limit) {$lower_limit=1;} + if ($lower_limit+999>=mysqli_num_rows($rslt)) {$upper_limit=($lower_limit+mysqli_num_rows($rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;} + + echo "\n\n--- "._QXZ("PARK LOG RECORDS FOR")." $query_date, "._QXZ("CHANNEL GROUP")." $group\n --- "._QXZ("RECORDS")." #$lower_limit-$upper_limit "; + # echo "["._QXZ("DOWNLOAD")."]"; + echo "\n"; + + if (mysqli_num_rows($rslt)>0) { + + $header= "+---------------------+---------------------+---------------------+------------+--------------------------------+-----------------+------------+------------+----------------------+------------+------------+\n"; + $output.=$header; + $output.="| "._QXZ("PARKED TIME",19)." | "._QXZ("GRAB TIME",19)." | "._QXZ("HANGUP TIME",19)." | "._QXZ("STATUS",10)." | "._QXZ("CHANNEL",30)." | "._QXZ("SERVER IP",15)." | "._QXZ("PARKED SEC",10)." | "._QXZ("TALKED SEC",10)." | "._QXZ("EXTENSION",20)." | "._QXZ("USER",10)." | "._QXZ("LEAD ID",10)." |\n"; + $output.=$header; + $i=0; + while($row=mysqli_fetch_array($rslt)) { + $i++; + $output.="| "; + $output.=sprintf("%-19s", $row["parked_time"])." | "; + $output.=sprintf("%-19s", $row["grab_time"])." | "; + $output.=sprintf("%-19s", $row["hangup_time"])." | "; + $output.=sprintf("%-10s", $row["status"])." | "; + $output.=sprintf("%-30s", substr($row["channel"], 0, 30))." | "; + $output.=sprintf("%-15s", $row["server_ip"])." | "; + $output.=sprintf("%10s", $row["parked_sec"])." | "; + $output.=sprintf("%10s", $row["talked_sec"])." | "; + $output.=sprintf("%-20s", substr($row["extension"], 0, 20))." | "; + $output.=sprintf("%-10s", $row["user"])." | "; + $output.=sprintf("%-10s", $row["lead_id"])." |\n"; + } + $output.=$header; + + $ll=$lower_limit-1000; + if ($ll>=1) { + $output.="[<<< "._QXZ("PREV")." 1000 "._QXZ("records")."]"; + } else { + $output.=sprintf("%-23s", " "); + } + $output.=sprintf("%-171s", " "); + + if (($lower_limit+1000)=mysqli_num_rows($rslt)) {$max_limit=mysqli_num_rows($rslt)-$upper_limit;} else {$max_limit=1000;} + $dial_log_rpt_hf.="["._QXZ("NEXT")." $max_limit "._QXZ("records")." >>>]"; + } else { + $output.=sprintf("%23s", " "); + } + $output.="\n"; + + echo $output; + } +} + $endMS = microtime(); $startMSary = explode(" ",$startMS); $endMSary = explode(" ",$endMS); diff --git a/agc_2-X/trunk/www/vicidial/admin_modify_lead.php b/agc_2-X/trunk/www/vicidial/admin_modify_lead.php index 07e7e93d..c4c9d1c8 100644 --- a/agc_2-X/trunk/www/vicidial/admin_modify_lead.php +++ b/agc_2-X/trunk/www/vicidial/admin_modify_lead.php @@ -82,6 +82,7 @@ # 170409-1554 - Added IP List validation code # 170527-2253 - Fix for rare inbound logging issue #1017 # 170710-2039 - Added Audit Comments display +# 170807-2255 - Added park log # require("dbconnect_mysqli.php"); @@ -1830,6 +1831,42 @@ else echo "

\n"; + echo ""._QXZ("PARK LOGS FOR THIS LEAD").":\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from park_log where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' order by parked_time, grab_time, hangup_time desc limit 500;"; + $rslt=mysql_to_mysqli($stmt, $link); + $logs_to_print = mysqli_num_rows($rslt); + if ($DB) {echo "$logs_to_print|$stmt|\n";} + + $u=0; + while ($logs_to_print > $u) + { + $row=mysqli_fetch_array($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
# "._QXZ("PARK TIME").""._QXZ("CHANNEL GROUP")." "._QXZ("TSR")."   "._QXZ("STATUS")." "._QXZ("GRAB TIME")." "._QXZ("HANGUP TIME")." "._QXZ("PARK SEC")." "._QXZ("TALK SEC")." "._QXZ("EXTENSION")."
$u $row[parked_time] $row[channel_group] $row[user] $row[status] $row[grab_time] $row[hangup_time] $row[parked_sec] $row[talked_sec] $row[extension]


\n"; + + echo ""._QXZ("IVR LOGS FOR THIS LEAD").":\n"; echo "\n"; echo "\n";
# "._QXZ("CAMPAIGN").""._QXZ("DATE/TIME")." "._QXZ("CALL MENU")."   "._QXZ("ACTION")."