Added calls_inqueue_count_ campaign options
git-svn-id: svn://192.168.202.10@3431 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
@@ -624,6 +624,11 @@ OTHER CHANGES:
|
|||||||
174. Added campaign options to add extra lead-field columns to the "Calls In
|
174. Added campaign options to add extra lead-field columns to the "Calls In
|
||||||
Queue" panel in the agent screen.
|
Queue" panel in the agent screen.
|
||||||
|
|
||||||
|
175. Added Calls In Queue Count Display campaign options, allowing for two
|
||||||
|
separate Calls Waiting counters at the top of the agent screen, each
|
||||||
|
with separate configurable labels and in-group/campaign parameters.
|
||||||
|
Also, this can be used with the alt_display.php script.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
CRM EXAMPLE SKIN DOCUMENT Started: 2015-12-27 Updated: 2020-08-28
|
CRM EXAMPLE SKIN DOCUMENT Started: 2015-12-27 Updated: 2021-04-26
|
||||||
|
|
||||||
This document describes one method of integrating with the agent screen using
|
This document describes one method of integrating with the agent screen using
|
||||||
a basic skin. This method could be used as a guide to integrate a CRM web system
|
a basic skin. This method could be used as a guide to integrate a CRM web system
|
||||||
@@ -63,3 +63,4 @@ Additional enhancements:
|
|||||||
http://server/agc/alt_display.php?user=6666&ACTION=top_panel
|
http://server/agc/alt_display.php?user=6666&ACTION=top_panel
|
||||||
http://server/agc/alt_display.php?user=6666&ACTION=top_panel_realtime
|
http://server/agc/alt_display.php?user=6666&ACTION=top_panel_realtime
|
||||||
http://server/agc/alt_display.php?user=6666&ACTION=agent_status
|
http://server/agc/alt_display.php?user=6666&ACTION=agent_status
|
||||||
|
http://server/agc/alt_display.php?user=6666&ACTION=top_panel_realtime&calls_in_queue_option=CAMPAIGN
|
||||||
|
|||||||
@@ -1063,7 +1063,9 @@ clear_form ENUM('DISABLED','ENABLED','ACKNOWLEDGE') default 'ACKNOWLEDGE',
|
|||||||
leave_3way_start_recording ENUM('DISABLED','ALL_CALLS','ALL_BUT_EXCEPTIONS','ONLY_EXCEPTIONS') default 'DISABLED',
|
leave_3way_start_recording ENUM('DISABLED','ALL_CALLS','ALL_BUT_EXCEPTIONS','ONLY_EXCEPTIONS') default 'DISABLED',
|
||||||
leave_3way_start_recording_exception VARCHAR(40) default 'DISABLED',
|
leave_3way_start_recording_exception VARCHAR(40) default 'DISABLED',
|
||||||
calls_waiting_vl_one VARCHAR(25) default 'DISABLED',
|
calls_waiting_vl_one VARCHAR(25) default 'DISABLED',
|
||||||
calls_waiting_vl_two VARCHAR(25) default 'DISABLED'
|
calls_waiting_vl_two VARCHAR(25) default 'DISABLED',
|
||||||
|
calls_inqueue_count_one VARCHAR(40) default 'DISABLED',
|
||||||
|
calls_inqueue_count_two VARCHAR(40) default 'DISABLED'
|
||||||
) ENGINE=MyISAM;
|
) ENGINE=MyISAM;
|
||||||
|
|
||||||
CREATE TABLE vicidial_lists (
|
CREATE TABLE vicidial_lists (
|
||||||
@@ -4928,4 +4930,4 @@ INSERT INTO vicidial_settings_containers(container_id,container_notes,container_
|
|||||||
|
|
||||||
UPDATE system_settings set vdc_agent_api_active='1';
|
UPDATE system_settings set vdc_agent_api_active='1';
|
||||||
|
|
||||||
UPDATE system_settings SET db_schema_version='1631',db_schema_update_date=NOW(),reload_timestamp=NOW();
|
UPDATE system_settings SET db_schema_version='1632',db_schema_update_date=NOW(),reload_timestamp=NOW();
|
||||||
|
|||||||
@@ -1674,3 +1674,8 @@ ALTER TABLE vicidial_screen_labels ADD label_owner VARCHAR(60) default '';
|
|||||||
ALTER TABLE vicidial_screen_labels ADD label_entry_list_id VARCHAR(60) default '';
|
ALTER TABLE vicidial_screen_labels ADD label_entry_list_id VARCHAR(60) default '';
|
||||||
|
|
||||||
UPDATE system_settings SET db_schema_version='1631',db_schema_update_date=NOW() where db_schema_version < 1631;
|
UPDATE system_settings SET db_schema_version='1631',db_schema_update_date=NOW() where db_schema_version < 1631;
|
||||||
|
|
||||||
|
ALTER TABLE vicidial_campaigns ADD calls_inqueue_count_one VARCHAR(40) default 'DISABLED';
|
||||||
|
ALTER TABLE vicidial_campaigns ADD calls_inqueue_count_two VARCHAR(40) default 'DISABLED';
|
||||||
|
|
||||||
|
UPDATE system_settings SET db_schema_version='1632',db_schema_update_date=NOW() where db_schema_version < 1632;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
# alt_display.php
|
# alt_display.php
|
||||||
#
|
#
|
||||||
# Copyright (C) 2020 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
# Copyright (C) 2021 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||||
#
|
#
|
||||||
# This script is designed to display agent screen information outside of the agent screen
|
# This script is designed to display agent screen information outside of the agent screen
|
||||||
# To use this script, you must set the options.php setting $alt_display_enabled = '1';
|
# To use this script, you must set the options.php setting $alt_display_enabled = '1';
|
||||||
@@ -18,10 +18,11 @@
|
|||||||
# 200827-1157 - First build
|
# 200827-1157 - First build
|
||||||
# 200920-0906 - Added agent-lag-time to agent_status action
|
# 200920-0906 - Added agent-lag-time to agent_status action
|
||||||
# 201026-1504 - Fix for LIVE call issue in top_panel
|
# 201026-1504 - Fix for LIVE call issue in top_panel
|
||||||
|
# 210426-0138 - Added calls_inqueue_count_ campaign settings options, and calls_in_queue_option=CAMPAIGN setting
|
||||||
#
|
#
|
||||||
|
|
||||||
$version = '2.14-3';
|
$version = '2.14-4';
|
||||||
$build = '201026-1504';
|
$build = '210426-0138';
|
||||||
$php_script = 'alt_display.php';
|
$php_script = 'alt_display.php';
|
||||||
$mel=1; # Mysql Error Log enabled = 1
|
$mel=1; # Mysql Error Log enabled = 1
|
||||||
$mysql_log_count=11;
|
$mysql_log_count=11;
|
||||||
@@ -42,12 +43,15 @@ if (isset($_GET["stage"])) {$stage=$_GET["stage"];}
|
|||||||
elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];}
|
elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];}
|
||||||
if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];}
|
if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];}
|
||||||
elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];}
|
elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];}
|
||||||
|
if (isset($_GET["calls_in_queue_option"])) {$calls_in_queue_option=$_GET["calls_in_queue_option"];}
|
||||||
|
elseif (isset($_POST["calls_in_queue_option"])) {$calls_in_queue_option=$_POST["calls_in_queue_option"];}
|
||||||
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
|
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
|
||||||
elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];}
|
elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];}
|
||||||
|
|
||||||
$user = preg_replace("/\'|\"|\\\\|;/","",$user);
|
$user = preg_replace("/\'|\"|\\\\|;/","",$user);
|
||||||
$stage = preg_replace("/[^-_0-9a-zA-Z]/","",$stage);
|
$stage = preg_replace("/[^-_0-9a-zA-Z]/","",$stage);
|
||||||
$ACTION = preg_replace('/[^-_0-9a-zA-Z]/','',$ACTION);
|
$ACTION = preg_replace('/[^-_0-9a-zA-Z]/','',$ACTION);
|
||||||
|
$calls_in_queue_option = preg_replace('/[^-_0-9a-zA-Z]/','',$calls_in_queue_option);
|
||||||
$DB = preg_replace('/[^-_0-9a-zA-Z]/','',$DB);
|
$DB = preg_replace('/[^-_0-9a-zA-Z]/','',$DB);
|
||||||
|
|
||||||
# default optional vars if not set
|
# default optional vars if not set
|
||||||
@@ -319,43 +323,419 @@ if ($ACTION == 'top_panel')
|
|||||||
$ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )";
|
$ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )";
|
||||||
}
|
}
|
||||||
|
|
||||||
### grab the number of calls waiting in queue for this agent's campaign and selected in-groups
|
|
||||||
$stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$VLAcampaign_id') or (campaign_id IN('$AccampSQL')) $ADsql);";
|
|
||||||
$rslt=mysql_to_mysqli($stmt, $link);
|
|
||||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09006',$user,$server_ip,$session_name,$one_mysql_log);}
|
|
||||||
$cl_calls_ct = mysqli_num_rows($rslt);
|
|
||||||
if ($cl_calls_ct > 0)
|
|
||||||
{
|
|
||||||
$row=mysqli_fetch_row($rslt);
|
|
||||||
$CIQcount = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($CIQcount > 0)
|
|
||||||
{
|
|
||||||
echo "<font color=\"red\" size=2 face=\"arial,helvetica\"><b>"._QXZ("Calls Waiting").": $CIQcount</font></b> \n";
|
|
||||||
$stage .= " Waiting $CIQcount";
|
|
||||||
|
|
||||||
### grab the number of calls waiting in queue for this agent's campaign and selected in-groups
|
|
||||||
$stmt="SELECT UNIX_TIMESTAMP(call_time) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$VLAcampaign_id') or (campaign_id IN('$AccampSQL')) $ADsql) order by call_time limit 1;";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### BEGIN check for calls_inqueue_count_ settings containers and calculate calls in queue ###
|
||||||
|
$RingCallsOne='';
|
||||||
|
$RingCallsTwo='';
|
||||||
|
$Acampaign = $VLAcampaign_id;
|
||||||
|
if ($calls_in_queue_option == 'CAMPAIGN')
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_one='';
|
||||||
|
$calls_inqueue_count_two='';
|
||||||
|
$stmt = "SELECT calls_inqueue_count_one,calls_inqueue_count_two FROM vicidial_campaigns where campaign_id='$Acampaign';";
|
||||||
$rslt=mysql_to_mysqli($stmt, $link);
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09007',$user,$server_ip,$session_name,$one_mysql_log);}
|
$vcc_conf_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($vcc_conf_ct > 0)
|
||||||
|
{
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$calls_inqueue_count_one = $row[0];
|
||||||
|
$calls_inqueue_count_two = $row[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ( ($calls_inqueue_count_one != '') and ($calls_inqueue_count_one != 'DISABLED') ) or ( ($calls_inqueue_count_two != '') and ($calls_inqueue_count_two != 'DISABLED') ) )
|
||||||
|
{
|
||||||
|
# gather calls_inqueue_count_one settings container
|
||||||
|
$stmt = "SELECT container_entry FROM vicidial_settings_containers where container_id='$calls_inqueue_count_one';";
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03XXX',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||||
|
if ($DB) {echo "$stmt\n";}
|
||||||
|
$SCinfo_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($SCinfo_ct > 0)
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_one_heading='';
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$SAcontainer_entry = $row[0];
|
||||||
|
$SAcontainer_entry = preg_replace("/\r|\t|\'|\"/",'',$SAcontainer_entry);
|
||||||
|
$calls_inqueue_count_one_settings = explode("\n",$SAcontainer_entry);
|
||||||
|
$calls_inqueue_count_one_settings_ct = count($calls_inqueue_count_one_settings);
|
||||||
|
$calls_inqueue_count_one_output='';
|
||||||
|
$calls_inqueue_count_one_groups_SQL='';
|
||||||
|
$except_container_id_output='';
|
||||||
|
$cic_excpt_stmt='';
|
||||||
|
$sea=0;
|
||||||
|
while ($calls_inqueue_count_one_settings_ct >= $sea)
|
||||||
|
{
|
||||||
|
if (preg_match("/^HEADING => |^HEADING=>/",$calls_inqueue_count_one_settings[$sea]))
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_one_heading = preg_replace("/^HEADING => |^HEADING=>/i",'',$calls_inqueue_count_one_settings[$sea]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( (!preg_match("/^;/",$calls_inqueue_count_one_settings[$sea])) and (strlen($calls_inqueue_count_one_settings[$sea]) > 0) )
|
||||||
|
{
|
||||||
|
$cic_one_stmt='';
|
||||||
|
if ($calls_inqueue_count_one_settings[$sea] == '--ALL-CALLS--')
|
||||||
|
{
|
||||||
|
$cic_one_stmt="from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) $ADsql)";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (preg_match("/^--ALL-IN-GROUP-CALLS-/",$calls_inqueue_count_one_settings[$sea]))
|
||||||
|
{
|
||||||
|
$cic_one_stmt="from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id IN('$AccampSQL')) $ADsql)";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CAMPAIGN-CALLS-/",$calls_inqueue_count_one_settings[$sea]))
|
||||||
|
{
|
||||||
|
$cic_one_stmt="from vicidial_auto_calls where status IN('LIVE') and (campaign_id='$Acampaign')";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CALLS-/",$calls_inqueue_count_one_settings[$sea]))
|
||||||
|
{
|
||||||
|
$cic_one_stmt="from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) $ADsql)";
|
||||||
|
}
|
||||||
|
if (preg_match("/-CALLS-EXCEPT=/",$calls_inqueue_count_one_settings[$sea]))
|
||||||
|
{
|
||||||
|
$except_container_id = preg_replace("/.*-CALLS-EXCEPT=/",'',$calls_inqueue_count_one_settings[$sea]);
|
||||||
|
|
||||||
|
# BEGIN gather EXCEPTION settings container
|
||||||
|
$stmt = "SELECT container_entry FROM vicidial_settings_containers where container_id='$except_container_id';";
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03XXX',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||||
|
if ($DB) {echo "EX|$stmt\n";}
|
||||||
|
$SCinfo_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($SCinfo_ct > 0)
|
||||||
|
{
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$SAcontainer_entry = $row[0];
|
||||||
|
$SAcontainer_entry = preg_replace("/\r|\t|\'|\"/",'',$SAcontainer_entry);
|
||||||
|
$except_container_id_settings = explode("\n",$SAcontainer_entry);
|
||||||
|
$except_container_id_settings_ct = count($except_container_id_settings);
|
||||||
|
$except_container_id_groups_SQL='';
|
||||||
|
$seaEX=0;
|
||||||
|
while ($except_container_id_settings_ct >= $seaEX)
|
||||||
|
{
|
||||||
|
if ( (!preg_match("/^;|^HEADING => |^HEADING=>/i",$except_container_id_settings[$seaEX])) and (strlen($except_container_id_settings[$seaEX]) > 0) )
|
||||||
|
{
|
||||||
|
if ($except_container_id_settings[$seaEX] == '--ALL-CALLS--')
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id!='$Acampaign') and (campaign_id NOT IN('$AccampSQL'))";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (preg_match("/^--ALL-IN-GROUP-CALLS-/",$except_container_id_settings[$seaEX]))
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id NOT IN('$AccampSQL'))";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CAMPAIGN-CALLS-/",$except_container_id_settings[$seaEX]))
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id!='$Acampaign')";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CALLS-/",$except_container_id_settings[$seaEX]))
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id!='$Acampaign') and (campaign_id NOT IN('$AccampSQL'))";
|
||||||
|
}
|
||||||
|
if (strlen($cic_excpt_stmt) < 10)
|
||||||
|
{
|
||||||
|
$except_container_id_settings[$seaEX] = preg_replace('/[^-_0-9\p{L}]/u','',$except_container_id_settings[$seaEX]);
|
||||||
|
if (strlen($except_container_id_settings[$seaEX]) > 0)
|
||||||
|
{
|
||||||
|
if (strlen($except_container_id_groups_SQL) > 1) {$except_container_id_groups_SQL .= ",";}
|
||||||
|
$except_container_id_groups_SQL .= "'$except_container_id_settings[$seaEX]'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$seaEX++;
|
||||||
|
}
|
||||||
|
if ( (strlen($cic_excpt_stmt) < 10) and (strlen($except_container_id_groups_SQL) > 2) )
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt="and (campaign_id NOT IN($except_container_id_groups_SQL))";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# END gather EXCEPTION settings container
|
||||||
|
}
|
||||||
|
if (strlen($cic_one_stmt) < 10)
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_one_settings[$sea] = preg_replace('/[^-_0-9\p{L}]/u','',$calls_inqueue_count_one_settings[$sea]);
|
||||||
|
if (strlen($calls_inqueue_count_one_settings[$sea]) > 0)
|
||||||
|
{
|
||||||
|
if (strlen($calls_inqueue_count_one_groups_SQL) > 1) {$calls_inqueue_count_one_groups_SQL .= ",";}
|
||||||
|
$calls_inqueue_count_one_groups_SQL .= "'$calls_inqueue_count_one_settings[$sea]'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$sea++;
|
||||||
|
}
|
||||||
|
if ( (strlen($cic_one_stmt) < 10) and (strlen($calls_inqueue_count_one_groups_SQL) > 2) )
|
||||||
|
{
|
||||||
|
$cic_one_stmt="from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id IN($calls_inqueue_count_one_groups_SQL)) $ADsql)";
|
||||||
|
}
|
||||||
|
if (strlen($cic_one_stmt) > 10)
|
||||||
|
{
|
||||||
|
$TEMPcic_one_stmt = "SELECT count(*) $cic_one_stmt $cic_excpt_stmt;";
|
||||||
|
if ($DB) {echo "CIC ONE|$TEMPcic_one_stmt|\n";}
|
||||||
|
$rslt=mysql_to_mysqli($TEMPcic_one_stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$TEMPcic_one_stmt,'03XXX',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$RingCallsOne=$row[0];
|
||||||
|
|
||||||
|
if ($RingCallsOne > 0)
|
||||||
|
{
|
||||||
|
$stage .= " Waiting $RingCallsOne";
|
||||||
|
$RingCallsOne = "<font color=\"red\" size=2 face=\"arial,helvetica\"><b>$calls_inqueue_count_one_heading: $RingCallsOne</font></b> \n";
|
||||||
|
|
||||||
|
### grab time of oldest call waiting in queue for this agent's campaign and selected in-groups
|
||||||
|
$stmt="SELECT UNIX_TIMESTAMP(call_time) $cic_one_stmt $cic_excpt_stmt order by call_time limit 1;";
|
||||||
|
if ($DB) {echo "CIC ONETIME|$stmt|\n";}
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09XXX',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||||
|
$cl_calls_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($cl_calls_ct > 0)
|
||||||
|
{
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$CIQcall_time_epoch = $row[0];
|
||||||
|
|
||||||
|
$wait_length = ($StarTtime - $CIQcall_time_epoch);
|
||||||
|
$minutes = floor($wait_length / 60);
|
||||||
|
$seconds = $wait_length - ($minutes * 60);
|
||||||
|
$WLtime = sprintf('%s:%s',$minutes,str_pad($seconds,2,'0',STR_PAD_LEFT));
|
||||||
|
|
||||||
|
$RingCallsOne .= "<font color=\"red\" size=2 face=\"arial,helvetica\">"._QXZ("Hold Time").": $WLtime</font> \n";
|
||||||
|
$stage .= " $WLtime";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{$RingCallsOne = "<font color=\"lightgrey\" size=2 face=\"arial,helvetica\"><b> $calls_inqueue_count_one_heading: 0</font></b> \n";}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# gather calls_inqueue_count_two settings container
|
||||||
|
$stmt = "SELECT container_entry FROM vicidial_settings_containers where container_id='$calls_inqueue_count_two';";
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03XXX',$user,$server_ip,$session_name,$two_mysql_log);}
|
||||||
|
if ($DB) {echo "$stmt\n";}
|
||||||
|
$SCinfo_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($SCinfo_ct > 0)
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_two_heading='';
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$SAcontainer_entry = $row[0];
|
||||||
|
$SAcontainer_entry = preg_replace("/\r|\t|\'|\"/",'',$SAcontainer_entry);
|
||||||
|
$calls_inqueue_count_two_settings = explode("\n",$SAcontainer_entry);
|
||||||
|
$calls_inqueue_count_two_settings_ct = count($calls_inqueue_count_two_settings);
|
||||||
|
$calls_inqueue_count_two_output='';
|
||||||
|
$calls_inqueue_count_two_groups_SQL='';
|
||||||
|
$except_container_id_output='';
|
||||||
|
$cic_excpt_stmt='';
|
||||||
|
$sea=0;
|
||||||
|
while ($calls_inqueue_count_two_settings_ct >= $sea)
|
||||||
|
{
|
||||||
|
if (preg_match("/^HEADING => |^HEADING=>/",$calls_inqueue_count_two_settings[$sea]))
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_two_heading = preg_replace("/^HEADING => |^HEADING=>/i",'',$calls_inqueue_count_two_settings[$sea]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( (!preg_match("/^;/",$calls_inqueue_count_two_settings[$sea])) and (strlen($calls_inqueue_count_two_settings[$sea]) > 0) )
|
||||||
|
{
|
||||||
|
$cic_two_stmt='';
|
||||||
|
if ($calls_inqueue_count_two_settings[$sea] == '--ALL-CALLS--')
|
||||||
|
{
|
||||||
|
$cic_two_stmt="from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) $ADsql)";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (preg_match("/^--ALL-IN-GROUP-CALLS-/",$calls_inqueue_count_two_settings[$sea]))
|
||||||
|
{
|
||||||
|
$cic_two_stmt="from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id IN('$AccampSQL')) $ADsql)";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CAMPAIGN-CALLS-/",$calls_inqueue_count_two_settings[$sea]))
|
||||||
|
{
|
||||||
|
$cic_two_stmt="from vicidial_auto_calls where status IN('LIVE') and (campaign_id='$Acampaign')";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CALLS-/",$calls_inqueue_count_two_settings[$sea]))
|
||||||
|
{
|
||||||
|
$cic_two_stmt="from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) $ADsql)";
|
||||||
|
}
|
||||||
|
if (preg_match("/-CALLS-EXCEPT=/",$calls_inqueue_count_two_settings[$sea]))
|
||||||
|
{
|
||||||
|
$except_container_id = preg_replace("/.*-CALLS-EXCEPT=/",'',$calls_inqueue_count_two_settings[$sea]);
|
||||||
|
|
||||||
|
# BEGIN gather EXCEPTION settings container
|
||||||
|
$stmt = "SELECT container_entry FROM vicidial_settings_containers where container_id='$except_container_id';";
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03XXX',$user,$server_ip,$session_name,$two_mysql_log);}
|
||||||
|
if ($DB) {echo "EX|$stmt\n";}
|
||||||
|
$SCinfo_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($SCinfo_ct > 0)
|
||||||
|
{
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$SAcontainer_entry = $row[0];
|
||||||
|
$SAcontainer_entry = preg_replace("/\r|\t|\'|\"/",'',$SAcontainer_entry);
|
||||||
|
$except_container_id_settings = explode("\n",$SAcontainer_entry);
|
||||||
|
$except_container_id_settings_ct = count($except_container_id_settings);
|
||||||
|
$except_container_id_groups_SQL='';
|
||||||
|
$seaEX=0;
|
||||||
|
while ($except_container_id_settings_ct >= $seaEX)
|
||||||
|
{
|
||||||
|
if ( (!preg_match("/^;|^HEADING => |^HEADING=>/i",$except_container_id_settings[$seaEX])) and (strlen($except_container_id_settings[$seaEX]) > 0) )
|
||||||
|
{
|
||||||
|
if ($except_container_id_settings[$seaEX] == '--ALL-CALLS--')
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id!='$Acampaign') and (campaign_id NOT IN('$AccampSQL'))";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (preg_match("/^--ALL-IN-GROUP-CALLS-/",$except_container_id_settings[$seaEX]))
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id NOT IN('$AccampSQL'))";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CAMPAIGN-CALLS-/",$except_container_id_settings[$seaEX]))
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id!='$Acampaign')";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CALLS-/",$except_container_id_settings[$seaEX]))
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id!='$Acampaign') and (campaign_id NOT IN('$AccampSQL'))";
|
||||||
|
}
|
||||||
|
if (strlen($cic_excpt_stmt) < 10)
|
||||||
|
{
|
||||||
|
$except_container_id_settings[$seaEX] = preg_replace('/[^-_0-9\p{L}]/u','',$except_container_id_settings[$seaEX]);
|
||||||
|
if (strlen($except_container_id_settings[$seaEX]) > 0)
|
||||||
|
{
|
||||||
|
if (strlen($except_container_id_groups_SQL) > 1) {$except_container_id_groups_SQL .= ",";}
|
||||||
|
$except_container_id_groups_SQL .= "'$except_container_id_settings[$seaEX]'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$seaEX++;
|
||||||
|
}
|
||||||
|
if ( (strlen($cic_excpt_stmt) < 10) and (strlen($except_container_id_groups_SQL) > 2) )
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt="and (campaign_id NOT IN($except_container_id_groups_SQL))";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# END gather EXCEPTION settings container
|
||||||
|
}
|
||||||
|
if (strlen($cic_two_stmt) < 10)
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_two_settings[$sea] = preg_replace('/[^-_0-9\p{L}]/u','',$calls_inqueue_count_two_settings[$sea]);
|
||||||
|
if (strlen($calls_inqueue_count_two_settings[$sea]) > 0)
|
||||||
|
{
|
||||||
|
if (strlen($calls_inqueue_count_two_groups_SQL) > 1) {$calls_inqueue_count_two_groups_SQL .= ",";}
|
||||||
|
$calls_inqueue_count_two_groups_SQL .= "'$calls_inqueue_count_two_settings[$sea]'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$sea++;
|
||||||
|
}
|
||||||
|
if ( (strlen($cic_two_stmt) < 10) and (strlen($calls_inqueue_count_two_groups_SQL) > 2) )
|
||||||
|
{
|
||||||
|
$cic_two_stmt="from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id IN($calls_inqueue_count_two_groups_SQL)) $ADsql)";
|
||||||
|
}
|
||||||
|
if (strlen($cic_two_stmt) > 10)
|
||||||
|
{
|
||||||
|
$TEMPcic_two_stmt = "SELECT count(*) $cic_two_stmt $cic_excpt_stmt;";
|
||||||
|
if ($DB) {echo "CIC TWO|$TEMPcic_two_stmt|\n";}
|
||||||
|
$rslt=mysql_to_mysqli($TEMPcic_two_stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$TEMPcic_two_stmt,'03XXX',$user,$server_ip,$session_name,$two_mysql_log);}
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$RingCallsTwo=$row[0];
|
||||||
|
|
||||||
|
if ($RingCallsTwo > 0)
|
||||||
|
{
|
||||||
|
$stage .= " Waiting $RingCallsTwo";
|
||||||
|
$RingCallsTwo = "<font color=\"red\" size=2 face=\"arial,helvetica\"><b>$calls_inqueue_count_two_heading: $RingCallsTwo</font></b> \n";
|
||||||
|
|
||||||
|
### grab time of oldest call waiting in queue for this agent's campaign and selected in-groups
|
||||||
|
$stmt="SELECT UNIX_TIMESTAMP(call_time) $cic_two_stmt $cic_excpt_stmt order by call_time limit 1;";
|
||||||
|
if ($DB) {echo "CIC TWOTIME|$stmt|\n";}
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09XXX',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||||
|
$cl_calls_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($cl_calls_ct > 0)
|
||||||
|
{
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$CIQcall_time_epoch = $row[0];
|
||||||
|
|
||||||
|
$wait_length = ($StarTtime - $CIQcall_time_epoch);
|
||||||
|
$minutes = floor($wait_length / 60);
|
||||||
|
$seconds = $wait_length - ($minutes * 60);
|
||||||
|
$WLtime = sprintf('%s:%s',$minutes,str_pad($seconds,2,'0',STR_PAD_LEFT));
|
||||||
|
|
||||||
|
$RingCallsTwo .= "<font color=\"red\" size=2 face=\"arial,helvetica\">"._QXZ("Hold Time").": $WLtime</font> \n";
|
||||||
|
$stage .= " $WLtime";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{$RingCallsTwo = "<font color=\"lightgrey\" size=2 face=\"arial,helvetica\"><b> $calls_inqueue_count_two_heading: 0</font></b> \n";}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( (strlen($RingCallsOne) > 10) or (strlen($RingCallsTwo) > 10) )
|
||||||
|
{
|
||||||
|
if ( (strlen($RingCallsOne) > 10) and (strlen($RingCallsTwo) > 10) )
|
||||||
|
{echo "$RingCallsOne $RingCallsTwo";}
|
||||||
|
else
|
||||||
|
{echo "$RingCallsOne$RingCallsTwo";}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
### END check for calls_inqueue_count_ settings containers and calculate calls in queue ###
|
||||||
|
if ( (strlen($RingCallsOne) < 10) and (strlen($RingCallsTwo) < 10) )
|
||||||
|
{
|
||||||
|
### grab the number of calls waiting in queue for this agent's campaign and selected in-groups
|
||||||
|
$stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$VLAcampaign_id') or (campaign_id IN('$AccampSQL')) $ADsql);";
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09006',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||||
$cl_calls_ct = mysqli_num_rows($rslt);
|
$cl_calls_ct = mysqli_num_rows($rslt);
|
||||||
if ($cl_calls_ct > 0)
|
if ($cl_calls_ct > 0)
|
||||||
{
|
{
|
||||||
$row=mysqli_fetch_row($rslt);
|
$row=mysqli_fetch_row($rslt);
|
||||||
$CIQcall_time_epoch = $row[0];
|
$CIQcount = $row[0];
|
||||||
|
|
||||||
$wait_length = ($StarTtime - $CIQcall_time_epoch);
|
|
||||||
$minutes = floor($wait_length / 60);
|
|
||||||
$seconds = $wait_length - ($minutes * 60);
|
|
||||||
$WLtime = sprintf('%s:%s',$minutes,str_pad($seconds,2,'0',STR_PAD_LEFT));
|
|
||||||
|
|
||||||
echo "<font color=\"red\" size=2 face=\"arial,helvetica\">"._QXZ("Hold Time").": $WLtime</font> \n";
|
|
||||||
$stage .= " $WLtime";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($CIQcount > 0)
|
||||||
|
{
|
||||||
|
echo "<font color=\"red\" size=2 face=\"arial,helvetica\"><b>"._QXZ("Calls Waiting").": $CIQcount</font></b> \n";
|
||||||
|
$stage .= " Waiting $CIQcount";
|
||||||
|
|
||||||
|
### grab the number of calls waiting in queue for this agent's campaign and selected in-groups
|
||||||
|
$stmt="SELECT UNIX_TIMESTAMP(call_time) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$VLAcampaign_id') or (campaign_id IN('$AccampSQL')) $ADsql) order by call_time limit 1;";
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09007',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||||
|
$cl_calls_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($cl_calls_ct > 0)
|
||||||
|
{
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$CIQcall_time_epoch = $row[0];
|
||||||
|
|
||||||
|
$wait_length = ($StarTtime - $CIQcall_time_epoch);
|
||||||
|
$minutes = floor($wait_length / 60);
|
||||||
|
$seconds = $wait_length - ($minutes * 60);
|
||||||
|
$WLtime = sprintf('%s:%s',$minutes,str_pad($seconds,2,'0',STR_PAD_LEFT));
|
||||||
|
|
||||||
|
echo "<font color=\"red\" size=2 face=\"arial,helvetica\">"._QXZ("Hold Time").": $WLtime</font> \n";
|
||||||
|
$stage .= " $WLtime";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{echo "<font color=\"lightgrey\" size=2 face=\"arial,helvetica\"><b> "._QXZ("no calls waiting")."</font></b> \n";}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{echo "<font color=\"lightgrey\" size=2 face=\"arial,helvetica\"><b> "._QXZ("no calls waiting")."</font></b> \n";}
|
|
||||||
### END Calls in Queue section ###
|
### END Calls in Queue section ###
|
||||||
|
|
||||||
if ($SSagent_debug_logging > 0) {vicidial_ajax_log($NOW_TIME,$startMS,$link,$ACTION,$php_script,$user,$stage,$lead_id,$session_name,$stmt);}
|
if ($SSagent_debug_logging > 0) {vicidial_ajax_log($NOW_TIME,$startMS,$link,$ACTION,$php_script,$user,$stage,$lead_id,$session_name,$stmt);}
|
||||||
@@ -412,7 +792,7 @@ if ($ACTION == 'top_panel_realtime')
|
|||||||
}
|
}
|
||||||
if (xmlhttp)
|
if (xmlhttp)
|
||||||
{
|
{
|
||||||
top_panel_query = "user=<?php echo $user ?>&ACTION=top_panel";
|
top_panel_query = "user=<?php echo $user ?>&ACTION=top_panel&calls_in_queue_option=<?php echo $calls_in_queue_option ?>";
|
||||||
xmlhttp.open('POST', 'alt_display.php');
|
xmlhttp.open('POST', 'alt_display.php');
|
||||||
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
|
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
|
||||||
xmlhttp.send(top_panel_query);
|
xmlhttp.send(top_panel_query);
|
||||||
|
|||||||
@@ -87,10 +87,11 @@
|
|||||||
# 201111-2140 - Fix for AGENTDIRECT selected in-groups issue #1241
|
# 201111-2140 - Fix for AGENTDIRECT selected in-groups issue #1241
|
||||||
# 210317-1935 - Added visibility logging
|
# 210317-1935 - Added visibility logging
|
||||||
# 210328-1013 - Fix for emails-in-queue count query, Issue #1170
|
# 210328-1013 - Fix for emails-in-queue count query, Issue #1170
|
||||||
|
# 210425-2357 - Added calls_inqueue_count_ calculation
|
||||||
#
|
#
|
||||||
|
|
||||||
$version = '2.14-61';
|
$version = '2.14-62';
|
||||||
$build = '210328-1013';
|
$build = '210425-2357';
|
||||||
$php_script = 'conf_exten_check.php';
|
$php_script = 'conf_exten_check.php';
|
||||||
$mel=1; # Mysql Error Log enabled = 1
|
$mel=1; # Mysql Error Log enabled = 1
|
||||||
$mysql_log_count=51;
|
$mysql_log_count=51;
|
||||||
@@ -335,17 +336,22 @@ if ($ACTION == 'refresh')
|
|||||||
$Acampaign_id = $row[3];
|
$Acampaign_id = $row[3];
|
||||||
$Alead_id = $row[4];
|
$Alead_id = $row[4];
|
||||||
$Acomments = $row[5];
|
$Acomments = $row[5];
|
||||||
|
|
||||||
$api_manual_dial='STANDARD';
|
|
||||||
$stmt = "SELECT api_manual_dial FROM vicidial_campaigns where campaign_id='$Acampaign_id';";
|
|
||||||
$rslt=mysql_to_mysqli($stmt, $link);
|
|
||||||
$vcc_conf_ct = mysqli_num_rows($rslt);
|
|
||||||
if ($vcc_conf_ct > 0)
|
|
||||||
{
|
|
||||||
$row=mysqli_fetch_row($rslt);
|
|
||||||
$api_manual_dial = $row[0];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$api_manual_dial='STANDARD';
|
||||||
|
$calls_inqueue_count_one='';
|
||||||
|
$calls_inqueue_count_two='';
|
||||||
|
$stmt = "SELECT api_manual_dial,calls_inqueue_count_one,calls_inqueue_count_two FROM vicidial_campaigns where campaign_id='$Acampaign_id';";
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
$vcc_conf_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($vcc_conf_ct > 0)
|
||||||
|
{
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$api_manual_dial = $row[0];
|
||||||
|
$calls_inqueue_count_one = $row[1];
|
||||||
|
$calls_inqueue_count_two = $row[2];
|
||||||
|
}
|
||||||
|
|
||||||
# ### find out if external table shows agent should be disabled
|
# ### find out if external table shows agent should be disabled
|
||||||
# $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';";
|
# $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';";
|
||||||
# if ($DB) {echo "|$stmt|\n";}
|
# if ($DB) {echo "|$stmt|\n";}
|
||||||
@@ -391,6 +397,302 @@ if ($ACTION == 'refresh')
|
|||||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03008',$user,$server_ip,$session_name,$one_mysql_log);}
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03008',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||||
$row=mysqli_fetch_row($rslt);
|
$row=mysqli_fetch_row($rslt);
|
||||||
$DiaLCalls=$row[0];
|
$DiaLCalls=$row[0];
|
||||||
|
|
||||||
|
### BEGIN check for calls_inqueue_count_ settings containers and calculate calls in queue ###
|
||||||
|
if ( ( ($calls_inqueue_count_one != '') and ($calls_inqueue_count_one != 'DISABLED') ) or ( ($calls_inqueue_count_two != '') and ($calls_inqueue_count_two != 'DISABLED') ) )
|
||||||
|
{
|
||||||
|
$RingCallsOne='';
|
||||||
|
$RingCallsTwo='';
|
||||||
|
# gather calls_inqueue_count_one settings container
|
||||||
|
$stmt = "SELECT container_entry FROM vicidial_settings_containers where container_id='$calls_inqueue_count_one';";
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03XXX',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||||
|
if ($DB) {echo "$stmt\n";}
|
||||||
|
$SCinfo_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($SCinfo_ct > 0)
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_one_heading='';
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$SAcontainer_entry = $row[0];
|
||||||
|
$SAcontainer_entry = preg_replace("/\r|\t|\'|\"/",'',$SAcontainer_entry);
|
||||||
|
$calls_inqueue_count_one_settings = explode("\n",$SAcontainer_entry);
|
||||||
|
$calls_inqueue_count_one_settings_ct = count($calls_inqueue_count_one_settings);
|
||||||
|
$calls_inqueue_count_one_output='';
|
||||||
|
$calls_inqueue_count_one_groups_SQL='';
|
||||||
|
$except_container_id_output='';
|
||||||
|
$cic_excpt_stmt='';
|
||||||
|
$sea=0;
|
||||||
|
while ($calls_inqueue_count_one_settings_ct >= $sea)
|
||||||
|
{
|
||||||
|
if (preg_match("/^HEADING => |^HEADING=>/",$calls_inqueue_count_one_settings[$sea]))
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_one_heading = preg_replace("/^HEADING => |^HEADING=>/i",'',$calls_inqueue_count_one_settings[$sea]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( (!preg_match("/^;/",$calls_inqueue_count_one_settings[$sea])) and (strlen($calls_inqueue_count_one_settings[$sea]) > 0) )
|
||||||
|
{
|
||||||
|
if ($calls_inqueue_count_one_settings[$sea] == '--ALL-CALLS--')
|
||||||
|
{
|
||||||
|
if ($RingCalls > 0) {$calls_inqueue_count_one_output = "<font class=\"queue_text_red\">$calls_inqueue_count_one_heading: $RingCalls</font>";}
|
||||||
|
else {$calls_inqueue_count_one_output = "<font class=\"queue_text\">$calls_inqueue_count_one_heading: $RingCalls</font>";}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$cic_one_stmt='';
|
||||||
|
if (preg_match("/^--ALL-IN-GROUP-CALLS-/",$calls_inqueue_count_one_settings[$sea]))
|
||||||
|
{
|
||||||
|
$cic_one_stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id IN('$AccampSQL')) $ADsql)";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CAMPAIGN-CALLS-/",$calls_inqueue_count_one_settings[$sea]))
|
||||||
|
{
|
||||||
|
$cic_one_stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and (campaign_id='$Acampaign')";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CALLS-/",$calls_inqueue_count_one_settings[$sea]))
|
||||||
|
{
|
||||||
|
$cic_one_stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) $ADsql)";
|
||||||
|
}
|
||||||
|
if (preg_match("/-CALLS-EXCEPT=/",$calls_inqueue_count_one_settings[$sea]))
|
||||||
|
{
|
||||||
|
$except_container_id = preg_replace("/.*-CALLS-EXCEPT=/",'',$calls_inqueue_count_one_settings[$sea]);
|
||||||
|
|
||||||
|
# BEGIN gather EXCEPTION settings container
|
||||||
|
$stmt = "SELECT container_entry FROM vicidial_settings_containers where container_id='$except_container_id';";
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03XXX',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||||
|
if ($DB) {echo "EX|$stmt\n";}
|
||||||
|
$SCinfo_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($SCinfo_ct > 0)
|
||||||
|
{
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$SAcontainer_entry = $row[0];
|
||||||
|
$SAcontainer_entry = preg_replace("/\r|\t|\'|\"/",'',$SAcontainer_entry);
|
||||||
|
$except_container_id_settings = explode("\n",$SAcontainer_entry);
|
||||||
|
$except_container_id_settings_ct = count($except_container_id_settings);
|
||||||
|
$except_container_id_groups_SQL='';
|
||||||
|
$seaEX=0;
|
||||||
|
while ($except_container_id_settings_ct >= $seaEX)
|
||||||
|
{
|
||||||
|
if ( (!preg_match("/^;|^HEADING => |^HEADING=>/i",$except_container_id_settings[$seaEX])) and (strlen($except_container_id_settings[$seaEX]) > 0) )
|
||||||
|
{
|
||||||
|
if ($except_container_id_settings[$seaEX] == '--ALL-CALLS--')
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id!='$Acampaign') and (campaign_id NOT IN('$AccampSQL'))";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (preg_match("/^--ALL-IN-GROUP-CALLS-/",$except_container_id_settings[$seaEX]))
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id NOT IN('$AccampSQL'))";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CAMPAIGN-CALLS-/",$except_container_id_settings[$seaEX]))
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id!='$Acampaign')";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CALLS-/",$except_container_id_settings[$seaEX]))
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id!='$Acampaign') and (campaign_id NOT IN('$AccampSQL'))";
|
||||||
|
}
|
||||||
|
if (strlen($cic_excpt_stmt) < 10)
|
||||||
|
{
|
||||||
|
$except_container_id_settings[$seaEX] = preg_replace('/[^-_0-9\p{L}]/u','',$except_container_id_settings[$seaEX]);
|
||||||
|
if (strlen($except_container_id_settings[$seaEX]) > 0)
|
||||||
|
{
|
||||||
|
if (strlen($except_container_id_groups_SQL) > 1) {$except_container_id_groups_SQL .= ",";}
|
||||||
|
$except_container_id_groups_SQL .= "'$except_container_id_settings[$seaEX]'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$seaEX++;
|
||||||
|
}
|
||||||
|
if ( (strlen($cic_excpt_stmt) < 10) and (strlen($except_container_id_groups_SQL) > 2) )
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt="and (campaign_id NOT IN($except_container_id_groups_SQL))";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# END gather EXCEPTION settings container
|
||||||
|
}
|
||||||
|
if (strlen($cic_one_stmt) < 10)
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_one_settings[$sea] = preg_replace('/[^-_0-9\p{L}]/u','',$calls_inqueue_count_one_settings[$sea]);
|
||||||
|
if (strlen($calls_inqueue_count_one_settings[$sea]) > 0)
|
||||||
|
{
|
||||||
|
if (strlen($calls_inqueue_count_one_groups_SQL) > 1) {$calls_inqueue_count_one_groups_SQL .= ",";}
|
||||||
|
$calls_inqueue_count_one_groups_SQL .= "'$calls_inqueue_count_one_settings[$sea]'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$sea++;
|
||||||
|
}
|
||||||
|
if ( (strlen($cic_one_stmt) < 10) and (strlen($calls_inqueue_count_one_groups_SQL) > 2) )
|
||||||
|
{
|
||||||
|
$cic_one_stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id IN($calls_inqueue_count_one_groups_SQL)) $ADsql)";
|
||||||
|
}
|
||||||
|
if (strlen($cic_one_stmt) > 10)
|
||||||
|
{
|
||||||
|
$cic_one_stmt .= " $cic_excpt_stmt;";
|
||||||
|
if ($DB) {echo "CIC ONE|$cic_one_stmt|\n";}
|
||||||
|
$rslt=mysql_to_mysqli($cic_one_stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$cic_one_stmt,'03XXX',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$RingCallsOne=$row[0];
|
||||||
|
if ($RingCallsOne > 0) {$RingCallsOne = "<font class=\"queue_text_red\">$calls_inqueue_count_one_heading: $RingCallsOne</font>";}
|
||||||
|
else {$RingCallsOne = "<font class=\"queue_text\">$calls_inqueue_count_one_heading: $RingCallsOne</font>";}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# gather calls_inqueue_count_two settings container
|
||||||
|
$stmt = "SELECT container_entry FROM vicidial_settings_containers where container_id='$calls_inqueue_count_two';";
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03XXX',$user,$server_ip,$session_name,$two_mysql_log);}
|
||||||
|
if ($DB) {echo "$stmt\n";}
|
||||||
|
$SCinfo_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($SCinfo_ct > 0)
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_two_heading='';
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$SAcontainer_entry = $row[0];
|
||||||
|
$SAcontainer_entry = preg_replace("/\r|\t|\'|\"/",'',$SAcontainer_entry);
|
||||||
|
$calls_inqueue_count_two_settings = explode("\n",$SAcontainer_entry);
|
||||||
|
$calls_inqueue_count_two_settings_ct = count($calls_inqueue_count_two_settings);
|
||||||
|
$calls_inqueue_count_two_output='';
|
||||||
|
$calls_inqueue_count_two_groups_SQL='';
|
||||||
|
$except_container_id_output='';
|
||||||
|
$cic_excpt_stmt='';
|
||||||
|
$sea=0;
|
||||||
|
while ($calls_inqueue_count_two_settings_ct >= $sea)
|
||||||
|
{
|
||||||
|
if (preg_match("/^HEADING => |^HEADING=>/",$calls_inqueue_count_two_settings[$sea]))
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_two_heading = preg_replace("/^HEADING => |^HEADING=>/i",'',$calls_inqueue_count_two_settings[$sea]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( (!preg_match("/^;/",$calls_inqueue_count_two_settings[$sea])) and (strlen($calls_inqueue_count_two_settings[$sea]) > 0) )
|
||||||
|
{
|
||||||
|
if ($calls_inqueue_count_two_settings[$sea] == '--ALL-CALLS--')
|
||||||
|
{
|
||||||
|
if ($RingCalls > 0) {$calls_inqueue_count_two_output = "<font class=\"queue_text_red\">$calls_inqueue_count_two_heading: $RingCalls</font>";}
|
||||||
|
else {$calls_inqueue_count_two_output = "<font class=\"queue_text\">$calls_inqueue_count_two_heading: $RingCalls</font>";}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$cic_two_stmt='';
|
||||||
|
if (preg_match("/^--ALL-IN-GROUP-CALLS-/",$calls_inqueue_count_two_settings[$sea]))
|
||||||
|
{
|
||||||
|
$cic_two_stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id IN('$AccampSQL')) $ADsql)";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CAMPAIGN-CALLS-/",$calls_inqueue_count_two_settings[$sea]))
|
||||||
|
{
|
||||||
|
$cic_two_stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and (campaign_id='$Acampaign')";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CALLS-/",$calls_inqueue_count_two_settings[$sea]))
|
||||||
|
{
|
||||||
|
$cic_two_stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) $ADsql)";
|
||||||
|
}
|
||||||
|
if (preg_match("/-CALLS-EXCEPT=/",$calls_inqueue_count_two_settings[$sea]))
|
||||||
|
{
|
||||||
|
$except_container_id = preg_replace("/.*-CALLS-EXCEPT=/",'',$calls_inqueue_count_two_settings[$sea]);
|
||||||
|
|
||||||
|
# BEGIN gather EXCEPTION settings container
|
||||||
|
$stmt = "SELECT container_entry FROM vicidial_settings_containers where container_id='$except_container_id';";
|
||||||
|
$rslt=mysql_to_mysqli($stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03XXX',$user,$server_ip,$session_name,$two_mysql_log);}
|
||||||
|
if ($DB) {echo "EX|$stmt\n";}
|
||||||
|
$SCinfo_ct = mysqli_num_rows($rslt);
|
||||||
|
if ($SCinfo_ct > 0)
|
||||||
|
{
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$SAcontainer_entry = $row[0];
|
||||||
|
$SAcontainer_entry = preg_replace("/\r|\t|\'|\"/",'',$SAcontainer_entry);
|
||||||
|
$except_container_id_settings = explode("\n",$SAcontainer_entry);
|
||||||
|
$except_container_id_settings_ct = count($except_container_id_settings);
|
||||||
|
$except_container_id_groups_SQL='';
|
||||||
|
$seaEX=0;
|
||||||
|
while ($except_container_id_settings_ct >= $seaEX)
|
||||||
|
{
|
||||||
|
if ( (!preg_match("/^;|^HEADING => |^HEADING=>/i",$except_container_id_settings[$seaEX])) and (strlen($except_container_id_settings[$seaEX]) > 0) )
|
||||||
|
{
|
||||||
|
if ($except_container_id_settings[$seaEX] == '--ALL-CALLS--')
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id!='$Acampaign') and (campaign_id NOT IN('$AccampSQL'))";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (preg_match("/^--ALL-IN-GROUP-CALLS-/",$except_container_id_settings[$seaEX]))
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id NOT IN('$AccampSQL'))";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CAMPAIGN-CALLS-/",$except_container_id_settings[$seaEX]))
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id!='$Acampaign')";
|
||||||
|
}
|
||||||
|
if (preg_match("/^--ALL-CALLS-/",$except_container_id_settings[$seaEX]))
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt=" and (campaign_id!='$Acampaign') and (campaign_id NOT IN('$AccampSQL'))";
|
||||||
|
}
|
||||||
|
if (strlen($cic_excpt_stmt) < 10)
|
||||||
|
{
|
||||||
|
$except_container_id_settings[$seaEX] = preg_replace('/[^-_0-9\p{L}]/u','',$except_container_id_settings[$seaEX]);
|
||||||
|
if (strlen($except_container_id_settings[$seaEX]) > 0)
|
||||||
|
{
|
||||||
|
if (strlen($except_container_id_groups_SQL) > 1) {$except_container_id_groups_SQL .= ",";}
|
||||||
|
$except_container_id_groups_SQL .= "'$except_container_id_settings[$seaEX]'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$seaEX++;
|
||||||
|
}
|
||||||
|
if ( (strlen($cic_excpt_stmt) < 10) and (strlen($except_container_id_groups_SQL) > 2) )
|
||||||
|
{
|
||||||
|
$cic_excpt_stmt="and (campaign_id NOT IN($except_container_id_groups_SQL))";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# END gather EXCEPTION settings container
|
||||||
|
}
|
||||||
|
if (strlen($cic_two_stmt) < 10)
|
||||||
|
{
|
||||||
|
$calls_inqueue_count_two_settings[$sea] = preg_replace('/[^-_0-9\p{L}]/u','',$calls_inqueue_count_two_settings[$sea]);
|
||||||
|
if (strlen($calls_inqueue_count_two_settings[$sea]) > 0)
|
||||||
|
{
|
||||||
|
if (strlen($calls_inqueue_count_two_groups_SQL) > 1) {$calls_inqueue_count_two_groups_SQL .= ",";}
|
||||||
|
$calls_inqueue_count_two_groups_SQL .= "'$calls_inqueue_count_two_settings[$sea]'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$sea++;
|
||||||
|
}
|
||||||
|
if ( (strlen($cic_two_stmt) < 10) and (strlen($calls_inqueue_count_two_groups_SQL) > 2) )
|
||||||
|
{
|
||||||
|
$cic_two_stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id IN($calls_inqueue_count_two_groups_SQL)) $ADsql)";
|
||||||
|
}
|
||||||
|
if (strlen($cic_two_stmt) > 10)
|
||||||
|
{
|
||||||
|
$cic_two_stmt .= " $cic_excpt_stmt;";
|
||||||
|
if ($DB) {echo "CIC TWO|$cic_two_stmt|\n";}
|
||||||
|
$rslt=mysql_to_mysqli($cic_two_stmt, $link);
|
||||||
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$cic_two_stmt,'03XXX',$user,$server_ip,$session_name,$two_mysql_log);}
|
||||||
|
$row=mysqli_fetch_row($rslt);
|
||||||
|
$RingCallsTwo=$row[0];
|
||||||
|
if ($RingCallsTwo > 0) {$RingCallsTwo = "<font class=\"queue_text_red\">$calls_inqueue_count_two_heading: $RingCallsTwo</font>";}
|
||||||
|
else {$RingCallsTwo = "<font class=\"queue_text\">$calls_inqueue_count_two_heading: $RingCallsTwo</font>";}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( (strlen($RingCallsOne) > 10) or (strlen($RingCallsTwo) > 10) )
|
||||||
|
{
|
||||||
|
if ( (strlen($RingCallsOne) > 10) and (strlen($RingCallsTwo) > 10) )
|
||||||
|
{$RingCalls = "$RingCallsOne $RingCallsTwo";}
|
||||||
|
else
|
||||||
|
{$RingCalls = "$RingCallsOne$RingCallsTwo";}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
### END check for calls_inqueue_count_ settings containers and calculate calls in queue ###
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -423,7 +725,6 @@ if ($ACTION == 'refresh')
|
|||||||
$AccampSQL = preg_replace('/\s/',"','", $AccampSQL);
|
$AccampSQL = preg_replace('/\s/',"','", $AccampSQL);
|
||||||
if (preg_match('/AGENTDIRECT/i', $AccampSQL))
|
if (preg_match('/AGENTDIRECT/i', $AccampSQL))
|
||||||
{
|
{
|
||||||
$ADsql = "or ( (campaign_id IN('$AccampSQL')) and (agent_only='$user') )";
|
|
||||||
$AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL);
|
$AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
|||||||
# version: 20210421221501
|
# version: 20210425150401
|
||||||
users-user User ID <QXZ>This field is where you put the users ID number, can be up to 8 digits in length, Must be at least 2 characters in length.</QXZ>
|
users-user User ID <QXZ>This field is where you put the users ID number, can be up to 8 digits in length, Must be at least 2 characters in length.</QXZ>
|
||||||
users-pass Password <QXZ>This field is where you put the users password. Must be at least 2 characters in length. Only letters and numbers are allowed in user passwords. A medium strength user password will be at least 10 characters in length, and a strong user password will be at least 20 characters in length and have letters as well as at least one number. It is recommended that you use a longer password if possible, stringing together several unrelated words with no spaces, and a number somewhere in the string. The maximum size of a password is 100 characters.</QXZ>
|
users-pass Password <QXZ>This field is where you put the users password. Must be at least 2 characters in length. Only letters and numbers are allowed in user passwords. A medium strength user password will be at least 10 characters in length, and a strong user password will be at least 20 characters in length and have letters as well as at least one number. It is recommended that you use a longer password if possible, stringing together several unrelated words with no spaces, and a number somewhere in the string. The maximum size of a password is 100 characters.</QXZ>
|
||||||
users-force_change_password Force Change Password <QXZ>If this option is set to Y then the user will be prompted to change their password the next time they log in to the administration webpage or the agent screen. Default is N.</QXZ>
|
users-force_change_password Force Change Password <QXZ>If this option is set to Y then the user will be prompted to change their password the next time they log in to the administration webpage or the agent screen. Default is N.</QXZ>
|
||||||
@@ -383,6 +383,7 @@ campaigns-dispo_call_url Dispo Call URL <QXZ>This web URL address is not seen by
|
|||||||
campaigns-na_call_url No Agent Call URL <QXZ>This web URL address is not seen by the agent, but if it is populated it is called every time a call that is not handled by an agent is hung up or transferred. Uses the same variables as the web form fields and scripts. dispo can be used to retrieve the system-defined disposition for the call. This URL can NOT be a relative path. Default is blank.</QXZ> <QXZ>Custom Fields are not available with this feature.</QXZ>
|
campaigns-na_call_url No Agent Call URL <QXZ>This web URL address is not seen by the agent, but if it is populated it is called every time a call that is not handled by an agent is hung up or transferred. Uses the same variables as the web form fields and scripts. dispo can be used to retrieve the system-defined disposition for the call. This URL can NOT be a relative path. Default is blank.</QXZ> <QXZ>Custom Fields are not available with this feature.</QXZ>
|
||||||
campaigns-agent_allow_group_alias Group Alias Allowed <QXZ>If you want to allow your agents to use group aliases then you need to set this to Y. Group Aliases are explained more in the Admin section, they allow agents to select different callerIDs for outbound manual calls that they may place. Default is N.</QXZ>
|
campaigns-agent_allow_group_alias Group Alias Allowed <QXZ>If you want to allow your agents to use group aliases then you need to set this to Y. Group Aliases are explained more in the Admin section, they allow agents to select different callerIDs for outbound manual calls that they may place. Default is N.</QXZ>
|
||||||
campaigns-default_group_alias Default Group Alias <QXZ>If you have allowed Group Aliases then this is the group alias that is selected first by default when the agent chooses to use a Group Alias for an outbound manual call. Default is NONE or empty.</QXZ>
|
campaigns-default_group_alias Default Group Alias <QXZ>If you have allowed Group Aliases then this is the group alias that is selected first by default when the agent chooses to use a Group Alias for an outbound manual call. Default is NONE or empty.</QXZ>
|
||||||
|
campaigns-calls_inqueue_count Calls In Queue Count Display <QXZ>This setting, if set to a valid CALLS_IN_QUEUE_COUNT type Settings Container, will change the display at the top of the agent screen to a specific filtered count of the calls in queue, replacing the default display of the count of every call waiting in queue that the agent has permissions to handle. If both of these settings are enabled, the first one will display before the second one. If you use an EXCEPT option, the exception container cannot also use an EXCEPT option. Default is ---DISABLED---. The CALLS_IN_QUEUE_COUNT type Settings Container should have -HEADING=>Display Name- as its first line, without the dashes, and then either a list of In-Groups and Campaigns, or one of the following special options,<BR>--ALL-IN-GROUP-CALLS--<BR>--ALL-CAMPAIGN-CALLS--<BR>--ALL-CALLS--<BR>--ALL-IN-GROUP-CALLS-EXCEPT=container_id<BR>--ALL-CAMPAIGN-CALLS-EXCEPT=container_id<BR>--ALL-CALLS-EXCEPT=container_id</QXZ>
|
||||||
campaigns-view_calls_in_queue Agent View Calls in Queue <QXZ>If set to anything but NONE, agents will be able to see details about the calls that are waiting in queue in their agent screen. If set to a number value, the calls displayed will be limited to the number selected. Default is NONE.</QXZ>
|
campaigns-view_calls_in_queue Agent View Calls in Queue <QXZ>If set to anything but NONE, agents will be able to see details about the calls that are waiting in queue in their agent screen. If set to a number value, the calls displayed will be limited to the number selected. Default is NONE.</QXZ>
|
||||||
campaigns-view_calls_in_queue_launch View Calls in Queue Launch <QXZ>This setting if set to AUTO will have the Calls in Queue frame show up upon login by the agent into the agent screen. Default is MANUAL.</QXZ>
|
campaigns-view_calls_in_queue_launch View Calls in Queue Launch <QXZ>This setting if set to AUTO will have the Calls in Queue frame show up upon login by the agent into the agent screen. Default is MANUAL.</QXZ>
|
||||||
campaigns-calls_waiting_vl_one Calls in Queue Extra Column <QXZ>If not DISABLED, this will display an extra column in the -Calls in Queue- agent screen frame for each call waiting in queue. You can select any of the standard list field columns, the headers will use the same labels as are set for the campaign screen labels. Default is DISABLED.</QXZ>
|
campaigns-calls_waiting_vl_one Calls in Queue Extra Column <QXZ>If not DISABLED, this will display an extra column in the -Calls in Queue- agent screen frame for each call waiting in queue. You can select any of the standard list field columns, the headers will use the same labels as are set for the campaign screen labels. Default is DISABLED.</QXZ>
|
||||||
|
|||||||
Reference in New Issue
Block a user