diff --git a/LANG_www/agc_fr/active_list_refresh.php b/LANG_www/agc_fr/active_list_refresh.php
index 2e9c0760..0d81835a 100644
--- a/LANG_www/agc_fr/active_list_refresh.php
+++ b/LANG_www/agc_fr/active_list_refresh.php
@@ -126,7 +126,7 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;}
if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0))
{
- echo "Invalide Username/Mot de passe: |$user|$pass|\n";
+ echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n";
exit;
}
else
diff --git a/LANG_www/agc_fr/astguiclient.php b/LANG_www/agc_fr/astguiclient.php
index 5b578b49..fdfb77f3 100644
--- a/LANG_www/agc_fr/astguiclient.php
+++ b/LANG_www/agc_fr/astguiclient.php
@@ -145,7 +145,7 @@ if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') )
{
header ("Content-type: text/html; charset=utf-8");
- echo "
astGUIclient Client Web: Login \n";
+ echo "astGUIclient Client Web: Ouverture de Session \n";
echo "\n";
echo "\n";
echo " \n";
diff --git a/LANG_www/agc_fr/call_log_display.php b/LANG_www/agc_fr/call_log_display.php
index 8a52cf2b..b31579b9 100644
--- a/LANG_www/agc_fr/call_log_display.php
+++ b/LANG_www/agc_fr/call_log_display.php
@@ -74,7 +74,7 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;}
if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0))
{
- echo "Invalide Username/Mot de passe: |$user|$pass|\n";
+ echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n";
exit;
}
else
diff --git a/LANG_www/agc_fr/conf_exten_check.php b/LANG_www/agc_fr/conf_exten_check.php
index f9bf57a4..8c09a0ce 100644
--- a/LANG_www/agc_fr/conf_exten_check.php
+++ b/LANG_www/agc_fr/conf_exten_check.php
@@ -135,12 +135,12 @@ $rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
$auth=$row[0];
- if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0))
+if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0))
{
- echo "Invalide Username/Mot de passe: |$user|$pass|\n";
+ echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n";
exit;
}
- else
+else
{
if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) )
diff --git a/LANG_www/agc_fr/dbconnect.php b/LANG_www/agc_fr/dbconnect.php
index 89d88689..e02ca392 100644
--- a/LANG_www/agc_fr/dbconnect.php
+++ b/LANG_www/agc_fr/dbconnect.php
@@ -4,46 +4,49 @@
#
# database connection settings and some global web settings
#
-# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2
+# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2
#
if ( file_exists("/etc/astguiclient.conf") )
-{
-$DBCagc = file("/etc/astguiclient.conf");
-foreach ($DBCagc as $DBCline)
{
- $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline);
- if (ereg("^PATHlogs", $DBCline))
- {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);}
- if (ereg("^PATHweb", $DBCline))
- {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);}
- if (ereg("^VARDB_server", $DBCline))
- {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);}
- if (ereg("^VARDB_database", $DBCline))
- {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);}
- if (ereg("^VARDB_user", $DBCline))
- {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);}
- if (ereg("^VARDB_pass", $DBCline))
- {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);}
- if (ereg("^VARDB_port", $DBCline))
- {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);}
+ $DBCagc = file("/etc/astguiclient.conf");
+ foreach ($DBCagc as $DBCline)
+ {
+ $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline);
+ if (ereg("^PATHlogs", $DBCline))
+ {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);}
+ if (ereg("^PATHweb", $DBCline))
+ {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);}
+ if (ereg("^VARserver_ip", $DBCline))
+ {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);}
+ if (ereg("^VARDB_server", $DBCline))
+ {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);}
+ if (ereg("^VARDB_database", $DBCline))
+ {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);}
+ if (ereg("^VARDB_user", $DBCline))
+ {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);}
+ if (ereg("^VARDB_pass", $DBCline))
+ {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);}
+ if (ereg("^VARDB_port", $DBCline))
+ {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);}
+ }
+ }
+else
+ {
+ #defaults for DB connection
+ $VARDB_server = 'localhost';
+ $VARDB_port = '3306';
+ $VARDB_user = 'cron';
+ $VARDB_pass = '1234';
+ $VARDB_database = '1234';
+ $WeBServeRRooT = '/usr/local/apache2/htdocs';
}
-}
-else
-{
-#defaults for DB connection
-$VARDB_server = 'localhost';
-$VARDB_user = 'cron';
-$VARDB_pass = '1234';
-$VARDB_database = '1234';
-$WeBServeRRooT = '/usr/local/apache2/htdocs';
-}
-
-$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass");
-if (!$link) {
+$link=mysql_connect("$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass");
+if (!$link)
+ {
die('MySQL connect ERROR: ' . mysql_error());
-}
-mysql_select_db("$VARDB_database",$link);
+ }
+mysql_select_db("$VARDB_database");
$local_DEF = 'Local/';
$conf_silent_prefix = '7';
diff --git a/LANG_www/agc_fr/inbound_popup.php b/LANG_www/agc_fr/inbound_popup.php
index 1b734c3b..f5c0101a 100644
--- a/LANG_www/agc_fr/inbound_popup.php
+++ b/LANG_www/agc_fr/inbound_popup.php
@@ -86,7 +86,7 @@ if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel
if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0))
{
- echo "Invalide Username/Mot de passe: |$user|$pass|\n";
+ echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n";
exit;
}
else
diff --git a/LANG_www/agc_fr/live_exten_check.php b/LANG_www/agc_fr/live_exten_check.php
index 85224fc3..a20eefa0 100644
--- a/LANG_www/agc_fr/live_exten_check.php
+++ b/LANG_www/agc_fr/live_exten_check.php
@@ -75,7 +75,7 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;}
if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0))
{
- echo "Invalide Username/Mot de passe: |$user|$pass|\n";
+ echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n";
exit;
}
else
diff --git a/LANG_www/agc_fr/manager_send.php b/LANG_www/agc_fr/manager_send.php
index 335adb6a..51a8de0e 100644
--- a/LANG_www/agc_fr/manager_send.php
+++ b/LANG_www/agc_fr/manager_send.php
@@ -1,7 +1,7 @@
LICENSE: AGPLv2
+# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2
#
# This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server
# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table
@@ -94,10 +94,10 @@
# 91112-1110 - Added CALLOUTBOUND value to QM entry lookup
# 91205-2103 - Code cleanup
# 91213-1208 - Added queue_position to queue_log COMPLETE... records
-#
+# 100327-0846 - Fix for list_id override answering machine message
-$version = '2.2.0-46';
-$build = '91213-1208';
+$version = '2.2.0-47';
+$build = '100327-0846';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=85;
$one_mysql_log=0;
@@ -239,7 +239,7 @@ $auth=$row[0];
if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0))
{
- echo "Invalide Username/Mot de passe: |$user|$pass|\n";
+ echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n";
exit;
}
else
@@ -734,39 +734,6 @@ if ($ACTION=="RedirectVD")
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02024',$user,$server_ip,$session_name,$one_mysql_log);}
}
- else
- {
- if (strlen($lead_id) > 1)
- {
- $list_id='';
- $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';";
- $rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02084',$user,$server_ip,$session_name,$one_mysql_log);}
- if ($DB) {echo "$stmt\n";}
- $lio_ct = mysql_num_rows($rslt);
- if ($lio_ct > 0)
- {
- $row=mysql_fetch_row($rslt);
- $list_id = $row[0];
-
- if (strlen($list_id) > 1)
- {
- $stmt = "SELECT am_message_exten_override FROM vicidial_lists where list_id='$list_id';";
- $rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02085',$user,$server_ip,$session_name,$one_mysql_log);}
- if ($DB) {echo "$stmt\n";}
- $lio_ct = mysql_num_rows($rslt);
- if ($lio_ct > 0)
- {
- $row=mysql_fetch_row($rslt);
- $am_message_exten_override = $row[0];
- if (strlen($am_message_exten_override) > 0) {$exten = "$am_message_exten_override";}
- }
- }
- }
- }
-
- }
$ACTION="Redirect";
}
}
diff --git a/LANG_www/agc_fr/park_calls_display.php b/LANG_www/agc_fr/park_calls_display.php
index bc20d026..64c8dc1a 100644
--- a/LANG_www/agc_fr/park_calls_display.php
+++ b/LANG_www/agc_fr/park_calls_display.php
@@ -65,7 +65,7 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;}
if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) )
{
- echo "Invalide Username/Mot de passe: |$user|$pass|\n";
+ echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n";
exit;
}
else
diff --git a/LANG_www/agc_fr/vdc_db_query.php b/LANG_www/agc_fr/vdc_db_query.php
index 704cf078..c592b38b 100644
--- a/LANG_www/agc_fr/vdc_db_query.php
+++ b/LANG_www/agc_fr/vdc_db_query.php
@@ -12,7 +12,7 @@
# - $pass
# optional variables:
# - $format - ('text','debug')
-# - $ACTION - ('regCLOSER','regTERRITORY','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCaLL','manDiaLlogCALL','userLOGout','updateDISPO','updateLEAD','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns','alt_phone_change','AlertControl','AGENTSview','CALLSINQUEUEview','CALLSINQUEUEgrab','DiaLableLeaDsCounT','UpdateFields')
+# - $ACTION - ('regCLOSER','regTERRITORY','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCaLL','manDiaLlogCALL','userLOGout','updateDISPO','updateLEAD','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns','alt_phone_change','AlertControl','AGENTSview','CALLSINQUEUEview','CALLSINQUEUEgrab','DiaLableLeaDsCounT','UpdateFields','CALLLOGview','LEADINFOview')
# - $stage - ('start','finish','lookup','new')
# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -')
# - $conf_exten - ('8600011',...)
@@ -87,6 +87,7 @@
# - $agent_territories - ('ABC001','ABC002'...)
# - $alt_num_status - ('0','1')
# - $DiaL_SecondS - ('0','1','2',...)
+# - $date - ('2010-02-19')
#
# CHANGELOG:
# 50629-1044 - First build of script
@@ -231,15 +232,25 @@
# 100109-0745 - Added alt_num_status for ALTNUM dialing status
# 100109-1336 - Fixed Manual dial live call detection
# 100113-1949 - Fixed dispo_choice bug and added dispo_status to dispo URL call
-# 100202-2306 - Fixed logging issues related to INBOUND_MAN dial_method
-# 100207-1110 - Changed Pause Codes function to allow for multiple pause codes per pause period
+# 100122-0757 - Added NOT-LOGGED-IN-AGENTS option for sidebar view and transfer view
+# 100202-2305 - Fixed logging issues related to INBOUND_MAN dial_method
+# 100207-1104 - Changed Pause Codes function to allow for multiple pause codes per pause period
+# 100219-1437 - Added agent_dispo_log file option
+# 100220-1041 - Added CALLLOGview and LEADINFOview functions
+# 100221-1105 - Added custom CID use compatibility
# 100301-1342 - Changed Available agents output for AGENTDIRECT selection
+# 100309-0535 - Added queuemetrics_loginout option
+# 100311-1559 - Added callcard logging to startcallurl and dispourl functions
+# 100331-1217 - Added human-readable hangup codes for manual dial
+# 100405-1430 - Added queuemetrics_callstatus option
+# 100413-1341 - Fixes for extended alt-dial
+# 100420-1006 - Added option for LIVE-only callback count
#
-$version = '2.2.0-142';
-$build = '100301-1342';
+$version = '2.4-152';
+$build = '100420-1006';
$mel=1; # Mysql Error Log enabled = 1
-$mysql_log_count=309;
+$mysql_log_count=332;
$one_mysql_log=0;
require("dbconnect.php");
@@ -419,6 +430,8 @@ if (isset($_GET["alt_num_status"])) {$alt_num_status=$_GET["alt_num_status"];
elseif (isset($_POST["alt_num_status"])) {$alt_num_status=$_POST["alt_num_status"];}
if (isset($_GET["DiaL_SecondS"])) {$DiaL_SecondS=$_GET["DiaL_SecondS"];}
elseif (isset($_POST["DiaL_SecondS"])) {$DiaL_SecondS=$_POST["DiaL_SecondS"];}
+if (isset($_GET["date"])) {$date=$_GET["date"];}
+ elseif (isset($_POST["date"])) {$date=$_POST["date"];}
header ("Content-type: text/html; charset=utf-8");
@@ -435,6 +448,61 @@ $MT[0]='';
$agents='@agents';
$US='_';
+
+##### Hangup Cause Dictionary #####
+$hangup_cause_dictionary = array(
+0 => "Unspecified. No other cause codes applicable.",
+1 => "Unallocated (unassigned) number.",
+2 => "No route to specified transit network (national use).",
+3 => "No route to destination.",
+6 => "Channel unacceptable.",
+7 => "Call awarded, being delivered in an established channel.",
+16 => "Normal call clearing.",
+17 => "Utilisateur busy.",
+18 => "No user responding.",
+19 => "No answer from user (user alerted).",
+20 => "Subscriber absent.",
+21 => "Call rejected.",
+22 => "Number changed.",
+23 => "Redirection to new destination.",
+25 => "Exchange routing error.",
+27 => "Destination out of order.",
+28 => "Invalide number format (address incomplete).",
+29 => "Facilities rejected.",
+30 => "Response to STATUT INQUIRY.",
+31 => "Normal, unspecified.",
+34 => "No circuit/channel available.",
+38 => "Network out of order.",
+41 => "Temporary failure.",
+42 => "Switching equipment congestion.",
+43 => "Access information discarded.",
+44 => "Requested circuit/channel not available.",
+50 => "Requested facility not subscribed.",
+52 => "Outgoing calls barred.",
+54 => "Entrant calls barred.",
+57 => "Bearer capability not authorized.",
+58 => "Bearer capability not presently available.",
+63 => "Service or option not available, unspecified.",
+65 => "Bearer capability not implemented.",
+66 => "Channel type not implemented.",
+69 => "Requested facility not implemented.",
+79 => "Service or option not implemented, unspecified.",
+81 => "Invalide call reference value.",
+88 => "Incompatible destination.",
+95 => "Invalide message, unspecified.",
+96 => "Mandatory information element is missing.",
+97 => "Message type non-existent or not implemented.",
+98 => "Message not compatible with call state or message type non-existent or not implemented.",
+99 => "Information element / parameter non-existent or not implemented.",
+100 => "Invalide information element contents.",
+101 => "Message not compatible with call state.",
+102 => "Recovery sur timer expiry.",
+103 => "Parameter non-existent or not implemented - passed sur (national use).",
+111 => "Protocol error, unspecified.",
+127 => "Interworking, unspecified."
+);
+
+
#############################################
##### START SYSTEM_SETTINGS LOOKUP #####
$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock FROM system_settings;";
@@ -458,7 +526,7 @@ if ($non_latin < 1)
$pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass);
$length_in_sec = ereg_replace("[^0-9]","",$length_in_sec);
$phone_code = ereg_replace("[^0-9]","",$phone_code);
- $phone_number = ereg_replace("[^0-9]","",$phone_number);
+ $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number);
}
else
{
@@ -489,7 +557,7 @@ else
if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0))
{
- echo "Invalide Username/Mot de passe: |$user|$pass|\n";
+ echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n";
exit;
}
else
@@ -1009,7 +1077,8 @@ if ($ACTION == 'manDiaLnextCaLL')
else
{
##### grab number of calls today in this campaign and increment
- $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';";
+ $eac_phone='';
+ $stmt="SELECT calls_today,extension FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';";
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00015',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -1017,7 +1086,8 @@ if ($ACTION == 'manDiaLnextCaLL')
if ($vla_cc_ct > 0)
{
$row=mysql_fetch_row($rslt);
- $calls_today = $row[0];
+ $calls_today = $row[0];
+ $eac_phone = $row[1];
}
else
{$calls_today ='0';}
@@ -1810,15 +1880,52 @@ if ($ACTION == 'manDiaLnextCaLL')
}
}
if (strlen($campaign_cid_override) > 6) {$CCID = "$campaign_cid_override"; $CCID_on++;}
+ ### check for custom cid use
+ $use_custom_cid=0;
+ $stmt = "SELECT count(*) FROM vicidial_campaigns where use_custom_cid='Y' and campaign_id='$campaign';";
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00313',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($DB) {echo "$stmt\n";}
+ $uccid_ct = mysql_num_rows($rslt);
+ if ($uccid_ct > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $use_custom_cid = $row[0];
+ }
+ if ($use_custom_cid > 0)
+ {
+ $temp_CID = preg_replace("/\D/",'',$security);
+ if (strlen($temp_CID) > 6)
+ {$CCID = "$temp_CID"; $CCID_on++;}
+ }
if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';}
$PADlead_id = sprintf("%09s", $lead_id);
while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);}
+ ### check for extension append in campaign
+ $use_eac=0;
+ $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';";
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00322',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($DB) {echo "$stmt\n";}
+ $eacid_ct = mysql_num_rows($rslt);
+ if ($eacid_ct > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $use_eac = $row[0];
+ }
+
# Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL
$MqueryCID = "M$CIDdate$PADlead_id";
- if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";}
- else {$CIDstring = "$MqueryCID";}
+ $EAC='';
+ if ($use_eac > 0)
+ {
+ $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone);
+ $EAC=" $eac_extension";
+ }
+ if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";}
+ else {$CIDstring = "$MqueryCID$EAC";}
### whether to omit phone_code or not
if (eregi('Y',$omit_phone_code))
@@ -1859,28 +1966,49 @@ if ($ACTION == 'manDiaLnextCaLL')
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);}
- #### update vicidial_agent_log if not MANUAL dial_method
- if ($dial_method != 'MANUAL')
- {
- $pause_sec=0;
- $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;";
- if ($DB) {echo "$stmt\n";}
- $rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00301',$user,$server_ip,$session_name,$one_mysql_log);}
- $VDpr_ct = mysql_num_rows($rslt);
- if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) )
- {
- $row=mysql_fetch_row($rslt);
- $agent_log_id = $row[5];
- $pause_sec = (($StarTtime - $row[0]) + $row[1]);
+ # #### update vicidial_agent_log if not MANUAL dial_method
+ # if ($dial_method != 'MANUAL')
+ # {
+ # $pause_sec=0;
+ # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;";
+ # if ($DB) {echo "$stmt\n";}
+ # $rslt=mysql_query($stmt, $link);
+ # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);}
+ # $VDpr_ct = mysql_num_rows($rslt);
+ # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) )
+ # {
+ # $row=mysql_fetch_row($rslt);
+ # $agent_log_id = $row[5];
+ # $pause_sec = (($StarTtime - $row[0]) + $row[1]);
+ #
+ # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';";
+ # if ($format=='debug') {echo "\n";}
+ # $rslt=mysql_query($stmt, $link);
+ # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);}
+ # }
+ # }
- $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';";
- if ($format=='debug') {echo "\n";}
- $rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);}
- }
+
+ $val_pause_epoch=0;
+ $val_pause_sec=0;
+ $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';";
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($DB) {echo "$stmt\n";}
+ $vald_ct = mysql_num_rows($rslt);
+ if ($vald_ct > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $val_pause_epoch = $row[0];
+ $val_pause_sec = ($StarTtime - $val_pause_epoch);
}
+ $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);}
+
+
if ($agent_dialed_number > 0)
{
$stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$phone_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')";
@@ -2174,7 +2302,7 @@ if ($ACTION == 'manDiaLonly')
else
{
##### grab number of calls today in this campaign and increment
- $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';";
+ $stmt="SELECT calls_today,extension FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';";
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00043',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -2182,12 +2310,26 @@ if ($ACTION == 'manDiaLonly')
if ($vla_cc_ct > 0)
{
$row=mysql_fetch_row($rslt);
- $calls_today =$row[0];
+ $calls_today = $row[0];
+ $eac_phone = $row[1];
}
else
{$calls_today ='0';}
$calls_today++;
+ ### check for extension append in campaign
+ $use_eac=0;
+ $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';";
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($DB) {echo "$stmt\n";}
+ $eacid_ct = mysql_num_rows($rslt);
+ if ($eacid_ct > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $use_eac = $row[0];
+ }
+
### prepare variables to place manual call from VICIDiaL
$CCID_on=0; $CCID='';
$local_DEF = 'Local/';
@@ -2231,14 +2373,38 @@ if ($ACTION == 'manDiaLonly')
}
}
if (strlen($campaign_cid_override) > 6) {$CCID = "$campaign_cid_override"; $CCID_on++;}
+ ### check for custom cid use
+ $use_custom_cid=0;
+ $stmt = "SELECT count(*) FROM vicidial_campaigns where use_custom_cid='Y' and campaign_id='$campaign';";
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00314',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($DB) {echo "$stmt\n";}
+ $uccid_ct = mysql_num_rows($rslt);
+ if ($uccid_ct > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $use_custom_cid = $row[0];
+ }
+ if ($use_custom_cid > 0)
+ {
+ $temp_CID = preg_replace("/\D/",'',$security);
+ if (strlen($temp_CID) > 6)
+ {$CCID = "$temp_CID"; $CCID_on++;}
+ }
$PADlead_id = sprintf("%09s", $lead_id);
while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);}
# Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL
$MqueryCID = "M$CIDdate$PADlead_id";
- if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";}
- else {$CIDstring = "$MqueryCID";}
+ $EAC='';
+ if ($use_eac > 0)
+ {
+ $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone);
+ $EAC=" $eac_extension";
+ }
+ if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";}
+ else {$CIDstring = "$MqueryCID$EAC";}
if ( ($usegroupalias > 0) and (strlen($account)>1) )
{
@@ -2288,27 +2454,91 @@ if ($ACTION == 'manDiaLonly')
echo "$MqueryCID\n";
- #### update vicidial_agent_log if not MANUAL dial_method
- if ($dial_method != 'MANUAL')
+# #### update vicidial_agent_log if not MANUAL dial_method
+# if ($dial_method != 'MANUAL')
+# {
+# $pause_sec=0;
+# $stmt = "SELECT pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;";
+# if ($DB) {echo "$stmt\n";}
+# $rslt=mysql_query($stmt, $link);
+# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00304',$user,$server_ip,$session_name,$one_mysql_log);}
+# $VDpr_ct = mysql_num_rows($rslt);
+# if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) )
+# {
+# $row=mysql_fetch_row($rslt);
+# $agent_log_id = $row[5];
+# $pause_sec = (($StarTtime - $row[0]) + $row[1]);
+#
+# $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';";
+# if ($format=='debug') {echo "\n";}
+# $rslt=mysql_query($stmt, $link);
+# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00305',$user,$server_ip,$session_name,$one_mysql_log);}
+# }
+# }
+
+ $val_pause_epoch=0;
+ $val_pause_sec=0;
+ $val_dispo_epoch=0;
+ $val_dispo_sec=0;
+ $val_wait_epoch=0;
+ $val_wait_sec=0;
+ $stmt = "SELECT dispo_epoch,wait_epoch,pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';";
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00326',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($DB) {echo "$stmt\n";}
+ $vald_ct = mysql_num_rows($rslt);
+ if ($vald_ct > 0)
{
- $pause_sec=0;
- $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;";
- if ($DB) {echo "$stmt\n";}
+ $row=mysql_fetch_row($rslt);
+ $val_dispo_epoch = $row[0];
+ $val_wait_epoch = $row[1];
+ $val_pause_epoch = $row[2];
+ $val_dispo_sec = ($StarTtime - $val_dispo_epoch);
+ $val_wait_sec = ($StarTtime - $val_wait_epoch);
+ $val_pause_sec = ($StarTtime - $val_pause_epoch);
+ }
+ if ($val_dispo_epoch > 1000)
+ {
+ $stmt="UPDATE vicidial_agent_log set status='ALTNUM',dispo_sec='$val_dispo_sec' where agent_log_id='$agent_log_id';";
+ if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);}
- $VDpr_ct = mysql_num_rows($rslt);
- if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) )
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00327',$user,$server_ip,$session_name,$one_mysql_log);}
+
+ $user_group='';
+ $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;";
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00328',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($DB) {echo "$stmt\n";}
+ $ug_record_ct = mysql_num_rows($rslt);
+ if ($ug_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
- $agent_log_id = $row[5];
- $pause_sec = (($StarTtime - $row[0]) + $row[1]);
-
- $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';";
- if ($format=='debug') {echo "\n";}
- $rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00304',$user,$server_ip,$session_name,$one_mysql_log);}
+ $user_group = trim("$row[0]");
}
+
+ $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group','ANDIAL');";
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00329',$user,$server_ip,$session_name,$one_mysql_log);}
+ $affected_rows = mysql_affected_rows($link);
+ $agent_log_id = mysql_insert_id($link);
+
+ $stmt="UPDATE vicidial_live_agents SET agent_log_id='$agent_log_id',last_state_change='$NOW_TIME' where user='$user';";
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00330',$VD_login,$server_ip,$session_name,$one_mysql_log);}
+ $VLAaffected_rows_update = mysql_affected_rows($link);
}
+ else
+ {
+ $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00331',$user,$server_ip,$session_name,$one_mysql_log);}
+ }
+
+ echo "$agent_log_id\n";
+
if ($agent_dialed_number > 0)
{
@@ -2326,8 +2556,7 @@ if ($ACTION == 'manDiaLonly')
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$qm_conf_ct = mysql_num_rows($rslt);
- $i=0;
- while ($i < $qm_conf_ct)
+ if ($qm_conf_ct > 0)
{
$row=mysql_fetch_row($rslt);
$enable_queuemetrics_logging = $row[0];
@@ -2336,7 +2565,6 @@ if ($ACTION == 'manDiaLonly')
$queuemetrics_login = $row[3];
$queuemetrics_pass = $row[4];
$queuemetrics_log_id = $row[5];
- $i++;
}
##### END QUEUEMETRICS LOGGING LOOKUP #####
###########################################
@@ -2433,9 +2661,10 @@ if ($ACTION == 'manDiaLlookCaLL')
$dialstatus =$row[0];
$hangup_cause =$row[1];
- $channel = $dialstatus . "-" . $hangup_cause;
+ $channel = $dialstatus;
+ $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause);
- $call_output = "$uniqueid\n$channel\nERROR";
+ $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg;
$call_good++;
### Delete call record
@@ -2465,7 +2694,7 @@ if ($ACTION == 'manDiaLlookCaLL')
if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) )
{$dead_epochSQL = ",dead_epoch='$StarTtime'";}
}
- $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',wait_epoch='$StarTtime',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';";
+ $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';";
if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -2635,13 +2864,13 @@ if ($stage == "end")
$four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y")));
##### look for the start epoch in the vicidial_closer_log table
- $stmt="SELECT start_epoch,term_reason,closecallid,campaign_id FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by closecallid desc limit 1;";
+ $stmt="SELECT start_epoch,term_reason,closecallid,campaign_id,status FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by closecallid desc limit 1;";
$VDIDselect = "VDCL_LID $lead_id $phone_number $user $four_hours_ago";
}
else
{
##### look for the start epoch in the vicidial_log table
- $stmt="SELECT start_epoch,term_reason,uniqueid,campaign_id FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;";
+ $stmt="SELECT start_epoch,term_reason,uniqueid,campaign_id,status FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;";
$VDIDselect = "VDL_UIDLID $uniqueid $lead_id";
}
$rslt=mysql_query($stmt, $link);
@@ -2655,6 +2884,7 @@ if ($stage == "end")
$VDterm_reason = $row[1];
$VDvicidial_id = $row[2];
$VDcampaign_id = $row[3];
+ $VDstatus = $row[4];
$length_in_sec = ($StarTtime - $start_epoch);
}
else
@@ -2696,7 +2926,9 @@ if ($stage == "end")
if ($VLA_inOUT == 'INBOUND')
{
- $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec', status='$status_dispo' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;";
+ $vcl_statusSQL='';
+ if ($VDstatus == 'INCALL') {$vcl_statusSQL = ",status='$status_dispo'";}
+ $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' $vcl_statusSQL where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00062',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -2704,6 +2936,10 @@ if ($stage == "end")
if ($affected_rows > 0)
{
echo "$uniqueid\n$channel\n";
+
+ # $fp = fopen ("./vicidial_debug.txt", "a");
+ # fwrite ($fp, "$NOW_TIME|INBND_LOG_4|$VDstatus|$uniqueid|$lead_id|$user|$inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$start_epoch|$stmt|\n");
+ # fclose($fp);
}
else
{
@@ -3322,7 +3558,7 @@ if ($stage == "end")
if (strlen($SQLterm) > 0)
{
##### update the duration and end time in the vicidial_log table
- $stmt="UPDATE vicidial_closer_log set $SQLterm, status='$status_dispo' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;";
+ $stmt="UPDATE vicidial_closer_log set $SQLterm where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00092',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -3584,7 +3820,7 @@ if ($stage == "end")
}
}
}
- $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',dispo_epoch='$StarTtime' $talk_epochSQL $dead_secSQL $lead_id_commentsSQL where agent_log_id='$agent_log_id';";
+ $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',dispo_epoch='$StarTtime',uniqueid='$uniqueid' $talk_epochSQL $dead_secSQL $lead_id_commentsSQL where agent_log_id='$agent_log_id';";
if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00102',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -3830,7 +4066,7 @@ if ($ACTION == 'VDADcheckINCOMING')
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00248',$user,$server_ip,$session_name,$one_mysql_log);}
$VDAP_cid_ct = mysql_num_rows($rslt);
- if ($VDACP_cid_ct > 0)
+ if ($VDAP_cid_ct > 0)
{
$row=mysql_fetch_row($rslt);
$Xalt_phone_count =$row[0];
@@ -3840,7 +4076,7 @@ if ($ACTION == 'VDADcheckINCOMING')
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00249',$user,$server_ip,$session_name,$one_mysql_log);}
$VDAPct_cid_ct = mysql_num_rows($rslt);
- if ($VDACPct_cid_ct > 0)
+ if ($VDAPct_cid_ct > 0)
{
$row=mysql_fetch_row($rslt);
$COUNTalt_phone_count =$row[0];
@@ -4457,6 +4693,7 @@ if ($ACTION == 'VDADcheckINCOMING')
if ($DB > 0) {echo "$SCUfile[0] \n";}
##### BEGIN special filtering and response for Vtiger account balance function #####
+ # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3
$stmt = "SELECT enable_vtiger_integration FROM system_settings;";
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00294',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -4466,27 +4703,57 @@ if ($ACTION == 'VDADcheckINCOMING')
$row=mysql_fetch_row($rslt);
$enable_vtiger_integration = $row[0];
}
- if ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) )
+ if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) )
{
$SCUoutput='';
foreach ($SCUfile as $SCUline)
{$SCUoutput .= "$SCUline";}
# {"result":true,"durationLimit":3071}
- if (strlen($SCUoutput) > 4)
+ if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) )
{
- $SCUresponse = explode('durationLimit',$SCUoutput);
- $durationLimit = preg_replace('/\D/','',$SCUresponse[1]);
- $durationLimitSEC = ( ( ($durationLimit + 0) - 3) * 60); # minutes - 3 for 3-minute-warning
+ $minuteswarning=3; # default to 3
+ if (preg_match("/minuteswarning/",$VDCL_start_call_url))
+ {
+ $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url);
+ $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]);
+ }
+ ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1"
+ if (preg_match("/callcard=/",$VDCL_start_call_url))
+ {
+ $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;";
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00315',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($DB) {echo "$stmt\n";}
+ $bms_ct = mysql_num_rows($rslt);
+ if ($bms_ct > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $durationLimit = $row[0];
+
+ $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;";
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00316',$user,$server_ip,$session_name,$one_mysql_log);}
+ $ccl_update = mysql_affected_rows($link);
+ }
+ }
+ else
+ {
+ $SCUresponse = explode('durationLimit',$SCUoutput);
+ $durationLimit = preg_replace('/\D/','',$SCUresponse[1]);
+ }
+ if (strlen($durationLimit) < 1) {$durationLimit = 0;}
+ $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning
if ($durationLimitSEC < 5) {$durationLimitSEC = 5;}
- $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='3 minute warning for customer',external_timer_action_seconds='$durationLimitSEC' where user='$user';";
+ $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC' where user='$user';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00295',$user,$server_ip,$session_name,$one_mysql_log);}
$vla_update_timer = mysql_affected_rows($link);
$fp = fopen ("./call_url_log.txt", "a");
- fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer\n");
+ fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n");
fclose($fp);
}
}
@@ -4630,7 +4897,7 @@ if ($ACTION == 'userLOGout')
{
#############################################
##### START QUEUEMETRICS LOGGING LOOKUP #####
- $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;";
+ $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages,queuemetrics_loginout FROM system_settings;";
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00138',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -4645,6 +4912,7 @@ if ($ACTION == 'userLOGout')
$queuemetrics_pass = $row[4];
$queuemetrics_log_id = $row[5];
$allow_sipsak_messages = $row[6];
+ $queuemetrics_loginout = $row[7];
}
##### END QUEUEMETRICS LOGGING LOOKUP #####
###########################################
@@ -4656,6 +4924,10 @@ if ($ACTION == 'userLOGout')
if ($enable_queuemetrics_logging > 0)
{
+ $QM_LOGOFF = 'AGENTLOGOFF';
+ if ($queuemetrics_loginout=='CALLBACK')
+ {$QM_LOGOFF = 'AGENTCALLBACKLOGOFF';}
+
$linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass");
mysql_select_db("$queuemetrics_dbname", $linkB);
@@ -4665,7 +4937,7 @@ if ($ACTION == 'userLOGout')
# $rslt=mysql_query($stmt, $linkB);
# $affected_rows = mysql_affected_rows($linkB);
- $stmt = "SELECT time_id FROM queue_log where agent='Agent/$user' and verb='AGENTLOGIN' order by time_id desc limit 1;";
+ $stmt = "SELECT time_id,data1 FROM queue_log where agent='Agent/$user' and verb IN('AGENTLOGIN','AGENTCALLBACKLOGIN') order by time_id desc limit 1;";
$rslt=mysql_query($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00139',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -4676,13 +4948,14 @@ if ($ACTION == 'userLOGout')
{
$row=mysql_fetch_row($rslt);
$logintime = $row[0];
+ $loginphone = $row[1];
$i++;
}
$time_logged_in = ($StarTtime - $logintime);
if ($time_logged_in > 1000000) {$time_logged_in=1;}
- $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='AGENTLOGOFF',data1='$user$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';";
+ $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QM_LOGOFF',data1='$loginphone',data2='$time_logged_in',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00140',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -4713,7 +4986,7 @@ if ($ACTION == 'updateDISPO')
}
else
{
- $stmt = "SELECT dispo_call_url from vicidial_campaigns where campaign_id='$campaign';";
+ $stmt = "SELECT dispo_call_url,queuemetrics_callstatus_override from vicidial_campaigns vc,vicidial_live_agents vla where vla.campaign_id=vc.campaign_id and vla.user='$user';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00284',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -4721,7 +4994,8 @@ if ($ACTION == 'updateDISPO')
if ($VC_dcu_ct > 0)
{
$row=mysql_fetch_row($rslt);
- $dispo_call_url =$row[0];
+ $dispo_call_url = $row[0];
+ $queuemetrics_callstatus_override = $row[1];
}
### reset the API fields in vicidial_live_agents record
@@ -4752,6 +5026,10 @@ if ($ACTION == 'updateDISPO')
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);}
+ # $fp = fopen ("./vicidial_debug.txt", "a");
+ # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n");
+ # fclose($fp);
+
$stmt = "SELECT count(*) from vicidial_inbound_groups where group_id='$stage';";
if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
@@ -4763,6 +5041,16 @@ if ($ACTION == 'updateDISPO')
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00144',$user,$server_ip,$session_name,$one_mysql_log);}
+ $VCLaffected_rows = mysql_affected_rows($link);
+
+ # $fp = fopen ("./vicidial_debug.txt", "a");
+ # fwrite ($fp, "$NOW_TIME|DISPO_CALL2|$VCLaffected_rows|$stmt|\n");
+ # fclose($fp);
+
+ $stmt = "UPDATE vicidial_live_inbound_agents set last_call_finish=NOW() where group_id='$stage' and user='$user' limit 1;";
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00322',$user,$server_ip,$session_name,$one_mysql_log);}
$stmt = "SELECT dispo_call_url from vicidial_inbound_groups where group_id='$stage';";
if ($format=='debug') {echo "\n";}
@@ -4836,7 +5124,7 @@ if ($ACTION == 'updateDISPO')
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00250',$user,$server_ip,$session_name,$one_mysql_log);}
$VDAP_cid_ct = mysql_num_rows($rslt);
- if ($VDACP_cid_ct > 0)
+ if ($VDAP_cid_ct > 0)
{
$row=mysql_fetch_row($rslt);
$Xalt_phone_count =$row[0];
@@ -4846,7 +5134,7 @@ if ($ACTION == 'updateDISPO')
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00251',$user,$server_ip,$session_name,$one_mysql_log);}
$VDAPct_cid_ct = mysql_num_rows($rslt);
- if ($VDACPct_cid_ct > 0)
+ if ($VDAPct_cid_ct > 0)
{
$row=mysql_fetch_row($rslt);
$COUNTalt_phone_count =$row[0];
@@ -4996,7 +5284,7 @@ if ($ACTION == 'updateDISPO')
}
}
}
- $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',status='$dispo_choice' $dispo_epochSQL $lead_id_commentsSQL where agent_log_id='$agent_log_id';";
+ $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',status='$dispo_choice',uniqueid='$uniqueid' $dispo_epochSQL $lead_id_commentsSQL where agent_log_id='$agent_log_id';";
if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00151',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -5543,7 +5831,7 @@ if ($ACTION == 'updateDISPO')
#############################################
##### START QUEUEMETRICS LOGGING LOOKUP #####
- $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;";
+ $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus FROM system_settings;";
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -5557,10 +5845,11 @@ if ($ACTION == 'updateDISPO')
$queuemetrics_login = $row[3];
$queuemetrics_pass = $row[4];
$queuemetrics_log_id = $row[5];
+ $queuemetrics_callstatus = $row[6];
}
##### END QUEUEMETRICS LOGGING LOOKUP #####
###########################################
- if ($enable_queuemetrics_logging > 0)
+ if ( ($enable_queuemetrics_logging > 0) and ( ( ($queuemetrics_callstatus > 0) or ($queuemetrics_callstatus_override=='YES') ) and ($queuemetrics_callstatus_override!='NO') ) )
{
$linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass");
mysql_select_db("$queuemetrics_dbname", $linkB);
@@ -5576,8 +5865,10 @@ if ($ACTION == 'updateDISPO')
mysql_close($linkB);
}
-
- ### Issue Dispo Call URL if defined
+
+ ############################################
+ ### BEGIN Issue Dispo Call URL if defined
+ ############################################
if (strlen($dispo_call_url) > 7)
{
$talk_time=0;
@@ -5787,7 +6078,91 @@ if ($ACTION == 'updateDISPO')
fwrite ($fp, "$dispo_call_url\n$SCUoutput\n");
fclose($fp);
}
+
+ ### add this to the Dispo URL for callcard calls to be logged "&callcard=--A--talk_time_min--B--"
+ if (preg_match("/callcard/",$dispo_call_url))
+ {
+ $stmt="SELECT balance_minutes_start,card_id FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;";
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00317',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($DB) {echo "$stmt\n";}
+ $bms_ct = mysql_num_rows($rslt);
+ $fp = fopen ("./call_url_log.txt", "a");
+ fwrite ($fp, "$dispo_call_url\n$stmt|$bms_ct\n");
+ fclose($fp);
+
+ if ($bms_ct > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $balance_minutes_start = $row[0];
+ $card_id = $row[1];
+
+ $current_minutes = ($balance_minutes_start - $talk_time_min);
+
+ $stmt="UPDATE callcard_log set agent_talk_sec='$talk_time',agent_talk_min='$talk_time_min',dispo_time='$NOW_TIME',agent_dispo='$dispo' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;";
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00318',$user,$server_ip,$session_name,$one_mysql_log);}
+ $ccl_update = mysql_affected_rows($link);
+
+ $stmt="UPDATE callcard_accounts set balance_minutes='$current_minutes' where card_id='$card_id';";
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00319',$user,$server_ip,$session_name,$one_mysql_log);}
+ $cca_update = mysql_affected_rows($link);
+
+ $stmt="UPDATE callcard_accounts_details set balance_minutes='$current_minutes' where card_id='$card_id';";
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00320',$user,$server_ip,$session_name,$one_mysql_log);}
+ $ccad_update = mysql_affected_rows($link);
+ }
+ }
}
+ ############################################
+ ### END Issue Dispo Call URL if defined
+ ############################################
+
+
+ ##### check if system is set to generate logfile for dispos
+ $stmt="SELECT enable_agc_dispo_log FROM system_settings;";
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00311',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($DB) {echo "$stmt\n";}
+ $enable_agc_dispo_log_ct = mysql_num_rows($rslt);
+ if ($enable_agc_dispo_log_ct > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $enable_agc_dispo_log =$row[0];
+ }
+
+ if ( ($WeBRooTWritablE > 0) and ($enable_agc_dispo_log > 0) )
+ {
+ $talk_time = 0;
+ $stmt = "select talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';";
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00312',$user,$server_ip,$session_name,$one_mysql_log);}
+ $VAL_talk_ct = mysql_num_rows($rslt);
+ if ($VAL_talk_ct > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $talk_sec = $row[0];
+ $dead_sec = $row[1];
+ $talk_time = ($talk_sec - $dead_sec);
+ if ($talk_time < 1)
+ {
+ $talk_time = 0;
+ }
+ }
+
+ # DATETIME|campaign|lead_id|phone_number|user|type|Call_ID||province|talk_sec|
+ # 2010-02-19 11:11:11|TESTCAMP|65432|3125551212|1234|D|Y09876543210987654||note|123|
+ $fp = fopen ("./xfer_log.txt", "a");
+ fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|D|$MDnextCID||$province|$talk_sec|\n");
+ fclose($fp);
+ }
+
echo 'Lead ' . $lead_id . ' a été changé en ' . $dispo_choice . " Statut\nNext agent_log_id:\n" . $agent_log_id . "\n";
}
@@ -6144,7 +6519,7 @@ if ($ACTION == 'PauseCodeSubmit')
### if this is the first pause code entry in a pause session, simply update and log to queue_log
if ($stage < 1)
{
- $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id='$agent_log_id';";
+ $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id >= '$agent_log_id' and user='$user' and ( (sub_status is NULL) or (sub_status='') )order by agent_log_id limit 2;";
if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00175',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -6157,7 +6532,7 @@ if ($ACTION == 'PauseCodeSubmit')
$stmt = "select pause_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00305',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00306',$user,$server_ip,$session_name,$one_mysql_log);}
$VDpr_ct = mysql_num_rows($rslt);
if ($VDpr_ct > 0)
{
@@ -6167,12 +6542,12 @@ if ($ACTION == 'PauseCodeSubmit')
$stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec' where agent_log_id='$agent_log_id';";
if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00306',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00307',$user,$server_ip,$session_name,$one_mysql_log);}
$user_group='';
$stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;";
$rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00309',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00308',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$ug_record_ct = mysql_num_rows($rslt);
if ($ug_record_ct > 0)
@@ -6184,14 +6559,14 @@ if ($ACTION == 'PauseCodeSubmit')
$stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group','$status');";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00307',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00309',$user,$server_ip,$session_name,$one_mysql_log);}
$affected_rows = mysql_affected_rows($link);
$agent_log_id = mysql_insert_id($link);
$stmt="UPDATE vicidial_live_agents SET agent_log_id='$agent_log_id',last_state_change='$NOW_TIME' where user='$user';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00308',$VD_login,$server_ip,$session_name,$one_mysql_log);}
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00310',$VD_login,$server_ip,$session_name,$one_mysql_log);}
$VLAaffected_rows_update = mysql_affected_rows($link);
}
@@ -6289,6 +6664,8 @@ if ($ACTION == 'AGENTSview')
echo "";
### Gather agents data and statuses
+ $agentviewlistSQL='';
+ $j=0;
$stmt="SELECT vla.user,vla.status,vu.full_name,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish) from vicidial_live_agents vla,vicidial_users vu where vla.user=vu.user $AGENTviewSQL order by vu.full_name;";
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00227',$VD_login,$server_ip,$session_name,$one_mysql_log);}
@@ -6302,6 +6679,7 @@ if ($ACTION == 'AGENTSview')
$full_name = $row[2];
$call_start = $row[3];
$call_finish = $row[4];
+ $agentviewlistSQL .= "'$user',";
if ( ($status=='READY') or ($status=='CLOSER') )
{
@@ -6337,10 +6715,12 @@ if ($ACTION == 'AGENTSview')
if ($comments=='AgentXferViewSelect')
{
- echo " $row[0] - $row[2] ";
- if ($agent_status_view_time > 0)
- {echo " $call_time ";}
- echo " ";
+ $AXVSuserORDRE[$j] = "$full_name$US$j";
+ $AXVSuser[$j] = $user;
+ $AXVSfull_name[$j] = $full_name;
+ $AXVScall_time[$j] = $call_time;
+ $AXVSstatuscolor[$j] = $statuscolor;
+ $j++;
}
else
{
@@ -6353,8 +6733,89 @@ if ($ACTION == 'AGENTSview')
}
$loop_count++;
}
+ $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL);
+ if (strlen($agentviewlistSQL)<3)
+ {$agentviewlistSQL = "''";}
+
+ if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups))
+ {
+ $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;";
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00301',$VD_login,$server_ip,$session_name,$one_mysql_log);}
+ if ($rslt) {$agents_count = mysql_num_rows($rslt);}
+ $loop_count=0;
+ while ($agents_count > $loop_count)
+ {
+ $row=mysql_fetch_row($rslt);
+ $user = $row[0];
+ $full_name = $row[1];
+
+ if ($comments=='AgentXferViewSelect')
+ {
+ $AXVSuserORDRE[$j] = "$full_name$US$j";
+ $AXVSuser[$j] = $user;
+ $AXVSfull_name[$j] = $full_name;
+ $AXVScall_time[$j] = '0:00';
+ $AXVSstatuscolor[$j] = 'white';
+ $j++;
+ }
+ else
+ {
+ echo " ";
+ echo "$user - $full_name";
+ echo " ";
+ if ($agent_status_view_time > 0)
+ {echo " 0:00 ";}
+ echo " ";
+ }
+ $loop_count++;
+ }
+ }
+
+ ### BEGIN Display the agent transfer select view ###
+ $k=0;
+ if ($comments=='AgentXferViewSelect')
+ {
+ echo "";
+
+ $AXVSrecords=100;
+ $AXVScolumns=1;
+ $AXVSfontsize='12px';
+ if ($j > 30) {$AXVScolumns++;}
+ if ($j > 60) {$AXVScolumns++; $AXVSfontsize='11px';}
+ if ($j > 90) {$AXVScolumns++; $AXVSfontsize='10px';}
+ if ($j > 120) {$AXVScolumns++; $AXVSfontsize='9px';}
+ $AXVSrecords = ($j / $AXVScolumns);
+ $AXVSrecords = round($AXVSrecords, 0);
+ $m=0;
+
+ sort($AXVSuserORDRE);
+ while ($j > $k)
+ {
+ $order_split = explode("_",$AXVSuserORDRE[$k]);
+ $i = $order_split[1];
+
+ echo " $AXVSuser[$i] - $AXVSfull_name[$i] ";
+ if ($agent_status_view_time > 0)
+ {echo " $AXVScall_time[$i] ";}
+ echo " ";
+
+ $k++;
+ $m++;
+ if ($m >= $AXVSrecords)
+ {
+ echo "
";
+ echo "";
+ $m=0;
+ }
+ }
+ echo "
";
+ }
+
echo "
\n";
echo " -READY -INCALL -PAUSED \n";
+ if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups))
+ {echo " -LOGGED-OUT \n";}
echo " \n";
}
@@ -6552,6 +7013,201 @@ if ($ACTION == 'CALLSINQUEUEview')
}
+################################################################################
+### CALLLOGview - display one day calls for an agent
+################################################################################
+if ($ACTION == 'CALLLOGview')
+ {
+ if (strlen($date) < 10)
+ {$date = $NOW_DATE;}
+ if (strlen($stage) < 3)
+ {$stage = '670';}
+
+ $date_array = explode("-",$date);
+ $day_next = mktime(7, 0, 0, $date_array[1], ($date_array[2] + 1), $date_array[0]);
+ $next_day_date = date("Y-m-d",$day_next);
+ $day_old = mktime(7, 0, 0, $date_array[1], ($date_array[2] - 1), $date_array[0]);
+ $past_day_date = date("Y-m-d",$day_old);
+ $week_old = mktime(7, 0, 0, $date_array[1], ($date_array[2] - 7), $date_array[0]);
+ $past_week_date = date("Y-m-d",$week_old);
+
+ echo "\n";
+ echo "";
+ echo " << $past_week_date ";
+ echo " < $past_day_date ";
+ if ($NOW_DATE != $date)
+ {echo " $next_day_date > ";}
+ echo " ";
+ echo "GO ";
+ echo "close ";
+ echo " \n";
+ echo " \n";
+ echo "";
+ echo "";
+ echo " # ";
+ echo " DATE/TIME ";
+ echo " LENGTH ";
+ echo " STATUT ";
+ echo " PHONE ";
+ echo " CAMPAIGN ";
+ echo " IN/OUT ";
+ echo " ALT ";
+ echo " HANGUP ";
+ echo " INFO ";
+ echo " COMPOSER ";
+ echo " ";
+
+
+ $stmt="select start_epoch,call_date,campaign_id,length_in_sec,status,phone_code,phone_number,lead_id,term_reason,alt_dial,comments from vicidial_log where user='$user' and call_date >= '$date 0:00:00' and call_date <= '$date 23:59:59' order by call_date desc limit 10000;";
+ $rslt=mysql_query($stmt, $link);
+ $out_logs_to_print = mysql_num_rows($rslt);
+ if ($format=='debug') {echo "|$out_logs_to_print|$stmt|";}
+
+ $g=0;
+ $u=0;
+ while ($out_logs_to_print > $u)
+ {
+ $row=mysql_fetch_row($rslt);
+ $ALLsort[$g] = "$row[0]-----$g";
+ $ALLstart_epoch[$g] = $row[0];
+ $ALLcall_date[$g] = $row[1];
+ $ALLcampaign_id[$g] = $row[2];
+ $ALLlength_in_sec[$g] = $row[3];
+ $ALLstatus[$g] = $row[4];
+ $ALLphone_code[$g] = $row[5];
+ $ALLphone_number[$g] = $row[6];
+ $ALLlead_id[$g] = $row[7];
+ $ALLhangup_reason[$g] = $row[8];
+ $ALLalt_dial[$g] = $row[9];
+ $ALLin_out[$g] = "OUT-AUTO";
+ if ($row[10] == 'MANUAL') {$ALLin_out[$g] = "OUT-MANUAL";}
+ $g++;
+ $u++;
+ }
+
+ $stmt="select start_epoch,call_date,campaign_id,length_in_sec,status,phone_code,phone_number,lead_id,term_reason,queue_seconds from vicidial_closer_log where user='$user' and call_date >= '$date 0:00:00' and call_date <= '$date 23:59:59' order by call_date desc limit 10000;";
+ $rslt=mysql_query($stmt, $link);
+ $in_logs_to_print = mysql_num_rows($rslt);
+ if ($format=='debug') {echo "|$in_logs_to_print|$stmt|";}
+
+ $u=0;
+ while ($in_logs_to_print > $u)
+ {
+ $row=mysql_fetch_row($rslt);
+ $ALLsort[$g] = "$row[0]-----$g";
+ $ALLstart_epoch[$g] = $row[0];
+ $ALLcall_date[$g] = $row[1];
+ $ALLcampaign_id[$g] = $row[2];
+ $ALLlength_in_sec[$g] = ($row[3] - $row[9]);
+ if ($ALLlength_in_sec[$g] < 0) {$ALLlength_in_sec[$g]=0;}
+ $ALLstatus[$g] = $row[4];
+ $ALLphone_code[$g] = $row[5];
+ $ALLphone_number[$g] = $row[6];
+ $ALLlead_id[$g] = $row[7];
+ $ALLhangup_reason[$g] = $row[8];
+ $ALLalt_dial[$g] = "MAIN";
+ $ALLin_out[$g] = "IN";
+ $g++;
+ $u++;
+ }
+
+ if ($g > 0)
+ {sort($ALLsort, SORT_NUMERIC);}
+ else
+ {echo "No calls sur this day ";}
+
+ $u=0;
+ while ($g > $u)
+ {
+ $sort_split = explode("-----",$ALLsort[$u]);
+ $i = $sort_split[1];
+
+ if (eregi("1$|3$|5$|7$|9$", $u))
+ {$bgcolor='bgcolor="#B9CBFD"';}
+ else
+ {$bgcolor='bgcolor="#9BB9FB"';}
+
+ $u++;
+ echo "";
+ echo "$u ";
+ echo "$ALLcall_date[$i] ";
+ echo " $ALLlength_in_sec[$i] \n";
+ echo " $ALLstatus[$i] \n";
+ echo " $ALLphone_code[$i] $ALLphone_number[$i] \n";
+ echo " $ALLcampaign_id[$i] \n";
+ echo " $ALLin_out[$i] \n";
+ echo " $ALLalt_dial[$i] \n";
+ echo " $ALLhangup_reason[$i] \n";
+ echo " INFO \n";
+ echo " DIAL \n";
+ echo " \n";
+ }
+
+ echo "
";
+ echo " ";
+ echo "Close Call Log ";
+ echo " ";
+ }
+
+
+################################################################################
+### LEADINFOview - display the information for a lead
+################################################################################
+if ($ACTION == 'LEADINFOview')
+ {
+ if (strlen($lead_id) < 1)
+ {echo "ERROR: no Lead ID";}
+ else
+ {
+ echo "\n";
+ echo "";
+
+ $stmt="select status,vendor_lead_code,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where lead_id='$lead_id'limit 1;";
+ $rslt=mysql_query($stmt, $link);
+ $info_to_print = mysql_num_rows($rslt);
+ if ($format=='debug') {echo "|$out_logs_to_print|$stmt|";}
+
+ if ($info_to_print > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ echo "Statut: $row[0] ";
+ echo "CodeVendeur: $row[1] ";
+ echo "List ID: $row[2] ";
+ echo "Timezone: $row[3] ";
+ echo "Appelé SInce Nom Reset: $row[4] ";
+ echo "Téléphone Code: $row[5] ";
+ echo "Téléphone Number: $row[6] - DIAL ";
+ echo "Titre: $row[7] ";
+ echo "Prenom Name: $row[8] ";
+ echo "Mi: $row[9] ";
+ echo "Nom Name: $row[10] ";
+ echo "Adresse 1: $row[11] ";
+ echo "Adresse 2: $row[12] ";
+ echo "Adresse 3: $row[13] ";
+ echo "Ville: $row[14] ";
+ echo "État: $row[15] ";
+ echo "Province: $row[16] ";
+ echo "Postal Code: $row[17] ";
+ echo "Country: $row[18] ";
+ echo "Sexe: $row[19] ";
+ echo "Tel. 2nd: $row[20] - DIAL ";
+ echo "Email: $row[21] ";
+ echo "Visualiser: $row[22] ";
+ echo "Commentaires: $row[23] ";
+ echo "Appelé Count: $row[24] ";
+ echo "Nom Local Call Time: $row[25] ";
+ # echo "Rank: $row[26] ";
+ # echo "Owner: $row[27] ";
+ }
+
+ echo "
";
+ echo " ";
+ echo "Close Info Box ";
+ echo " ";
+ }
+ }
+
+
################################################################################
### CALLSINQUEUEgrab - grab a call in queue and reserve it for that agent
################################################################################
@@ -6572,12 +7228,12 @@ if ($ACTION == 'CALLSINQUEUEgrab')
}
else
{
- $stmt="UPDATE vicidial_auto_calls set agent_grab=\"$user\" where auto_call_id='$stage' and agent_grab='' and status='LIVE';";
+ $stmtU="UPDATE vicidial_auto_calls set agent_grab=\"$user\" where auto_call_id='$stage' and agent_grab='' and status='LIVE';";
if ($format=='debug') {echo "\n";}
- $rslt=mysql_query($stmt, $link);
+ $rslt=mysql_query($stmtU, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00234',$user,$server_ip,$session_name,$one_mysql_log);}
- $affected_rows = mysql_affected_rows($link);
- if ($affected_rows > 0)
+ $VACaffected_rows = mysql_affected_rows($link);
+ if ($VACaffected_rows > 0)
{
$stmt="SELECT call_time,campaign_id,uniqueid,phone_number,lead_id,queue_priority,call_type from vicidial_auto_calls where auto_call_id='$stage';";
$rslt=mysql_query($stmt, $link);
@@ -6602,13 +7258,27 @@ if ($ACTION == 'CALLSINQUEUEgrab')
}
echo "SUCCESS: Call $stage grabbed for $user";
- exit;
}
else
{
echo "ERROR: Call $stage could not be grabbed for $user\n";
- exit;
}
+
+ $stmtD="SELECT * from vicidial_auto_calls where auto_call_id='$stage';";
+ $rslt=mysql_query($stmtD, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00321',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($rslt) {$DEBUGvac_count = mysql_num_rows($rslt);}
+ if ($DEBUGvac_count > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ if ($WeBRooTWritablE > 0)
+ {
+ $fp = fopen ("./vicidial_debug.txt", "a");
+ fwrite ($fp, "$NOW_TIME|GRAB_CALL |$stmtU|$VACaffected_rows|$stmtD|$row[0]|$row[1]|$row[2]|$row[3]|$row[4]|$row[5]|$row[6]|$row[7]|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|$row[14]|$row[15]|$row[16]|$row[17]|$row[18]|\n");
+ fclose($fp);
+ }
+ }
+ exit;
}
}
@@ -6673,7 +7343,14 @@ if ($ACTION == 'CalLBacKCounT')
$row=mysql_fetch_row($rslt);
$cbcount=$row[0];
- echo "$cbcount";
+ $stmt = "select count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' $campaignCBsql and status IN('LIVE');";
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00332',$user,$server_ip,$session_name,$one_mysql_log);}
+ $row=mysql_fetch_row($rslt);
+ $cbcount_live=$row[0];
+
+ echo "$cbcount|$cbcount_live";
}
@@ -6712,7 +7389,13 @@ echo "\n\n