From 3d92e9f007ef1937780a00a9ef6c7f4a645966b9 Mon Sep 17 00:00:00 2001 From: mattf Date: Thu, 13 Apr 2017 02:48:52 +0000 Subject: [PATCH] Updated AST_parkstats.php for new park logging, and added link to it from Admin Utilites Added park_rpt display option to User Stats, will show uer parked calls Fixed minor logging issue in agi-VDAD_ALL_inbound.agi script git-svn-id: svn://192.168.202.10@2730 3d104415-ff17-0410-8863-d5cf3c621b8a --- agc_2-X/trunk/agi/agi-VDAD_ALL_inbound.agi | 2 + agc_2-X/trunk/www/vicidial/AST_parkstats.php | 210 +++++++++++++++---- agc_2-X/trunk/www/vicidial/admin.php | 10 +- agc_2-X/trunk/www/vicidial/user_stats.php | 48 ++++- 4 files changed, 229 insertions(+), 41 deletions(-) diff --git a/agc_2-X/trunk/agi/agi-VDAD_ALL_inbound.agi b/agc_2-X/trunk/agi/agi-VDAD_ALL_inbound.agi index a30c43ef..bc12a35d 100644 --- a/agc_2-X/trunk/agi/agi-VDAD_ALL_inbound.agi +++ b/agc_2-X/trunk/agi/agi-VDAD_ALL_inbound.agi @@ -209,6 +209,7 @@ # 170221-0912 - Fix for areacode_filter logging issue # 170309-1514 - Added populate_state_areacode option # 170325-1104 - Added optional vicidial_drop_log logging +# 170412-2223 - Fix for drop call logging # $script = 'agi-VDAD_ALL_inbound.agi'; @@ -659,6 +660,7 @@ if ($AGILOG) {$agi_string = "+++++ INBOUND CALL VDCL STARTED : |$channel_group|$ $VDADphone=''; $VDADphone_code=''; $VCcallerid = $channel_group; +$VD_campaign_id = $channel_group; if (length($VCcallerid)<2) {$VCcallerid = 'ViciDial Inbound';} diff --git a/agc_2-X/trunk/www/vicidial/AST_parkstats.php b/agc_2-X/trunk/www/vicidial/AST_parkstats.php index 07d03dc2..17e1a6ed 100644 --- a/agc_2-X/trunk/www/vicidial/AST_parkstats.php +++ b/agc_2-X/trunk/www/vicidial/AST_parkstats.php @@ -15,11 +15,17 @@ # 141114-0732 - Finalized adding QXZ translation to all admin files # 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 # +$startMS = microtime(); + require("dbconnect_mysqli.php"); require("functions.php"); +$report_name = 'Agent Parked Call Report'; +$db_source = 'M'; + $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; @@ -126,13 +132,110 @@ else exit; } + + + + + + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$LOGhostname = php_uname('n'); +if (strlen($LOGhostname)<1) {$LOGhostname='X';} +if (strlen($LOGserver_name)<1) {$LOGserver_name='X';} + +$stmt="SELECT webserver_id FROM vicidial_webservers where webserver='$LOGserver_name' and hostname='$LOGhostname' LIMIT 1;"; +$rslt=mysql_to_mysqli($stmt, $link); +if ($DB) {echo "$stmt\n";} +$webserver_id_ct = mysqli_num_rows($rslt); +if ($webserver_id_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $webserver_id = $row[0]; + } +else + { + ##### insert webserver entry + $stmt="INSERT INTO vicidial_webservers (webserver,hostname) values('$LOGserver_name','$LOGhostname');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_to_mysqli($stmt, $link); + $affected_rows = mysqli_affected_rows($link); + $webserver_id = mysqli_insert_id($link); + } + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $call_status, $shift, $file_download, $report_display_type|', url='$LOGfull_url', webserver='$webserver_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); +$report_log_id = mysqli_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysqli_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect_mysqli.php"); + $MAIN.="\n"; + } + +$stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER';"; +$rslt=mysql_to_mysqli($stmt, $link); +$row=mysqli_fetch_row($rslt); +$LOGfullname = $row[0]; +$LOGuser_group = $row[1]; +$LOGadmin_hide_lead_data = $row[2]; +$LOGadmin_hide_phone_data = $row[3]; + +$stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); +$row=mysqli_fetch_row($rslt); +$LOGallowed_campaigns = $row[0]; +$LOGallowed_reports = $row[1]; +$LOGadmin_viewable_groups = $row[2]; + +$LOGallowed_campaignsSQL=''; +$whereLOGallowed_campaignsSQL=''; +if ( (!preg_match('/\-ALL/i', $LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and channel_group IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where channel_group IN('$rawLOGallowed_campaignsSQL')"; + } + +if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) + { + Header("WWW-Authenticate: Basic realm=\"CONTACT-CENTER-ADMIN\""); + Header("HTTP/1.0 401 Unauthorized"); + echo _QXZ("You are not allowed to view this report").": |$PHP_AUTH_USER|$report_name|\n"; + exit; + } + + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); if (!isset($group)) {$group = '';} if (!isset($query_date)) {$query_date = $NOW_DATE;} -$stmt="select distinct channel_group from park_log;"; +$stmt="select distinct channel_group from park_log $whereLOGallowed_campaignsSQL;"; $rslt=mysql_to_mysqli($stmt, $link); if ($DB) {echo "$stmt\n";} $groups_to_print = mysqli_num_rows($rslt); @@ -158,7 +261,7 @@ while ($i < $groups_to_print) \n"; -echo ""._QXZ("VICIDIAL: Park Stats")."\n"; +echo ""._QXZ("Park Stats")."\n"; echo "
\n"; echo "\n"; echo "\n"; $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; +$MAIN.="\n"; $MAIN.=""; $MAIN.="