diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE
index 76fa22a7..348873a1 100644
--- a/agc_2-X/trunk/UPGRADE
+++ b/agc_2-X/trunk/UPGRADE
@@ -282,6 +282,17 @@ OTHER CHANGES:
60. Added new beta script for faster checking of leave-3way conferences,
AST_conf_update_3way.pl, read the comments before using.
+61. Added Transfer Presets to Campaigns allowing for unlimited dial presets for
+ agents to use in the transfer-conf frame of the agent interface. Also,
+ real-time and outbound report reporting have been added to show call
+ counts for these presets. Presets can optionally have their numbers
+ hidden from agents allowing agents only to select a preset name to
+ transfer or conference a call to. You must Enable Transfer Presets in a
+ campaign before you can define them in the Presets sub-menu.
+
+62. Added ability to hide the "Number to dial" field in the Transfer-conf frame
+ of the agent interface. This is a Campaign-level setting.
+
diff --git a/agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl b/agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl
index e25e879b..066e568a 100644
--- a/agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl
+++ b/agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl
@@ -55,6 +55,7 @@
# 100703-2137 - Added memory table reset nightly
# 100811-2221 - Added --cu3way flag for new optional leave3way cleaning script
# 100812-0515 - Added --cu3way-delay= flag for setting delay in the leave3way cleaning script
+# 100814-2206 - Added clearing and optimization for vicidial_xfer_stats table
#
$DB=0; # Debug flag
@@ -680,6 +681,20 @@ if ($timeclock_end_of_day_NOW > 0)
if ($Tsec < 10) {$Tsec = "0$Tsec";}
$TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec";
+ $stmtA = "UPDATE vicidial_xfer_stats SET xfer_count='0';";
+ if($DBX){print STDERR "\n|$stmtA|\n";}
+ $affected_rows = $dbhA->do($stmtA);
+ if($DB){print STDERR "\n|$affected_rows vicidial_xfer_stats records reset|\n";}
+
+ $stmtA = "optimize table vicidial_xfer_stats;";
+ if($DBX){print STDERR "\n|$stmtA|\n";}
+ $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
+ $sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
+ $sthArows=$sthA->rows;
+ @aryA = $sthA->fetchrow_array;
+ if ($DB) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";}
+ $sthA->finish();
+
$stmtA = "UPDATE vicidial_campaign_stats SET dialable_leads='0', calls_today='0', answers_today='0', drops_today='0', drops_today_pct='0', drops_answers_today_pct='0', calls_hour='0', answers_hour='0', drops_hour='0', drops_hour_pct='0', calls_halfhour='0', answers_halfhour='0', drops_halfhour='0', drops_halfhour_pct='0', calls_fivemin='0', answers_fivemin='0', drops_fivemin='0', drops_fivemin_pct='0', calls_onemin='0', answers_onemin='0', drops_onemin='0', drops_onemin_pct='0', differential_onemin='0', agents_average_onemin='0', balance_trunk_fill='0', status_category_count_1='0', status_category_count_2='0', status_category_count_3='0', status_category_count_4='0';";
if($DBX){print STDERR "\n|$stmtA|\n";}
$affected_rows = $dbhA->do($stmtA);
diff --git a/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample b/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample
index e176f6bc..ae25e15d 100644
--- a/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample
+++ b/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample
@@ -330,15 +330,21 @@ exten => 8300,1,Hangup
; astGUIclient conferences
exten => _86000[0-4]X,1,Meetme,${EXTEN}|q
+exten => _86000[0-4]X,n,Hangup
; VICIDIAL conferences
exten => _86000[5-9]X,1,Meetme,${EXTEN}|F
+exten => _86000[5-9]X,n,Hangup
exten => _8600[1-2]XX,1,Meetme,${EXTEN}|F
+exten => _8600[1-2]XX,n,Hangup
; quiet entry and leaving conferences for VICIDIAL (inbound announce and SendDTMF)
exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq
+exten => _78600XXX,n,Hangup
; quiet monitor-only extensions for meetme rooms (for room managers)
exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq
+exten => _68600XXX,n,Hangup
; quiet monitor-only entry and leaving conferences for VICIDIAL (recording)
exten => _58600XXX,1,Meetme,${EXTEN:1}|Fmq
+exten => _58600XXX,n,Hangup
; voicelab exten
exten => _86009XX,1,Meetme,${EXTEN}|Fmq
diff --git a/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample-1.4 b/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample-1.4
index 3eb855fd..e04b7d50 100644
--- a/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample-1.4
+++ b/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample-1.4
@@ -335,15 +335,21 @@ exten => 8300,1,Hangup
; astGUIclient conferences
exten => _86000[0-4]X,1,Meetme,${EXTEN}|q
+exten => _86000[0-4]X,n,Hangup
; VICIDIAL conferences
exten => _86000[5-9]X,1,Meetme,${EXTEN}|F
+exten => _86000[5-9]X,n,Hangup
exten => _8600[1-2]XX,1,Meetme,${EXTEN}|F
+exten => _8600[1-2]XX,n,Hangup
; quiet entry and leaving conferences for VICIDIAL (inbound announce and SendDTMF)
exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq
+exten => _78600XXX,n,Hangup
; quiet monitor-only extensions for meetme rooms (for room managers)
exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq
+exten => _68600XXX,n,Hangup
; quiet monitor-only entry and leaving conferences for VICIDIAL (recording)
exten => _58600XXX,1,Meetme,${EXTEN:1}|Fmq
+exten => _58600XXX,n,Hangup
; voicelab exten
exten => _86009XX,1,Meetme,${EXTEN}|Fmq
diff --git a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql
index b6ea7824..645dc4bb 100644
--- a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql
+++ b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql
@@ -755,7 +755,9 @@ blind_monitor_warning ENUM('DISABLED','ALERT','NOTICE','AUDIO','ALERT_NOTICE','A
blind_monitor_message VARCHAR(255) default 'Someone is blind monitoring your session',
blind_monitor_filename VARCHAR(100) default '',
inbound_queue_no_dial ENUM('DISABLED','ENABLED','ALL_SERVERS') default 'DISABLED',
-timer_action_destination VARCHAR(30) default ''
+timer_action_destination VARCHAR(30) default '',
+enable_xfer_presets ENUM('DISABLED','ENABLED') default 'DISABLED',
+hide_xfer_number_to_dial ENUM('DISABLED','ENABLED') default 'DISABLED'
);
CREATE TABLE vicidial_lists (
@@ -1707,6 +1709,8 @@ number_dialed VARCHAR(30),
lead_id INT(9) UNSIGNED,
callerid VARCHAR(20),
group_alias_id VARCHAR(30),
+preset_name VARCHAR(40) default '',
+campaign_id VARCHAR(20) default '',
index (user),
index (call_date),
index (group_alias_id)
@@ -2189,6 +2193,22 @@ index (phone_number),
unique index phonefilter (phone_number, filter_phone_group_id)
);
+CREATE TABLE vicidial_xfer_presets (
+campaign_id VARCHAR(20) NOT NULL,
+preset_name VARCHAR(40) NOT NULL,
+preset_number VARCHAR(50) NOT NULL,
+preset_dtmf VARCHAR(50) default '',
+preset_hide_number ENUM('Y','N') default 'N',
+index (preset_name)
+);
+
+CREATE TABLE vicidial_xfer_stats (
+campaign_id VARCHAR(20) NOT NULL,
+preset_name VARCHAR(40) NOT NULL,
+xfer_count SMALLINT(5) UNSIGNED default '0',
+index (campaign_id)
+);
+
ALTER TABLE vicidial_campaign_server_stats ENGINE=MEMORY;
ALTER TABLE live_channels ENGINE=MEMORY;
@@ -2331,7 +2351,7 @@ ALTER TABLE vicidial_agent_log_archive MODIFY agent_log_id INT(9) UNSIGNED NOT N
CREATE TABLE vicidial_carrier_log_archive LIKE vicidial_carrier_log;
-UPDATE system_settings SET db_schema_version='1240',db_schema_update_date=NOW();
+UPDATE system_settings SET db_schema_version='1241',db_schema_update_date=NOW();
GRANT RELOAD ON *.* TO cron@'%';
GRANT RELOAD ON *.* TO cron@localhost;
diff --git a/agc_2-X/trunk/extras/upgrade_2.4.sql b/agc_2-X/trunk/extras/upgrade_2.4.sql
index 6ab4a898..5585a4fa 100644
--- a/agc_2-X/trunk/extras/upgrade_2.4.sql
+++ b/agc_2-X/trunk/extras/upgrade_2.4.sql
@@ -489,12 +489,32 @@ ALTER TABLE vicidial_inbound_dids ADD filter_clean_cid_number VARCHAR(20) defaul
UPDATE system_settings SET db_schema_version='1239',db_schema_update_date=NOW();
-
-
-
-
ALTER TABLE vicidial_user_groups ADD webphone_url_override VARCHAR(255) default '';
ALTER TABLE vicidial_inbound_groups ADD calculate_estimated_hold_seconds SMALLINT(5) UNSIGNED default '0';
UPDATE system_settings SET db_schema_version='1240',db_schema_update_date=NOW();
+
+ALTER TABLE vicidial_campaigns ADD enable_xfer_presets ENUM('DISABLED','ENABLED') default 'DISABLED';
+ALTER TABLE vicidial_campaigns ADD hide_xfer_number_to_dial ENUM('DISABLED','ENABLED') default 'DISABLED';
+
+CREATE TABLE vicidial_xfer_presets (
+campaign_id VARCHAR(20) NOT NULL,
+preset_name VARCHAR(40) NOT NULL,
+preset_number VARCHAR(50) NOT NULL,
+preset_dtmf VARCHAR(50) default '',
+preset_hide_number ENUM('Y','N') default 'N',
+index (preset_name)
+);
+
+ALTER TABLE user_call_log ADD preset_name VARCHAR(40) default '';
+ALTER TABLE user_call_log ADD campaign_id VARCHAR(20) default '';
+
+CREATE TABLE vicidial_xfer_stats (
+campaign_id VARCHAR(20) NOT NULL,
+preset_name VARCHAR(40) NOT NULL,
+xfer_count SMALLINT(5) UNSIGNED default '0',
+index (campaign_id)
+);
+
+UPDATE system_settings SET db_schema_version='1241',db_schema_update_date=NOW();
diff --git a/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.4.txt b/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.4.txt
index db70e11c..12a53db6 100644
--- a/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.4.txt
+++ b/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.4.txt
@@ -354,6 +354,29 @@ Webphone URL Override||
This setting allows you to set an alternate webphone URL just for the members of one user group. Default is empty||
Calculate Estimated Hold Seconds||
This defines the number of seconds into the queue that the customer will wait before the Estimated Hold Time will be calculated and optionally played. Minimum is 3 seconds, even if set lower than 3. Default is 0||
+Campaign Preset Added||
+Campaign Presets||
+Modify Campaign Preset||
+Campaign Preset Removed||
+If the Campaign setting for presets is set to ENABLED then you have the ability to define Transfer-Conference presets that will be available to the agent allowing them to 3-way call these presets or blind transfer calls to these preset numbers. These presets also have an option to hide the number associated with each preset from the agent||
+PRESET NOT ADDED||
+there is already an entry for this campaign with this preset||
+PRESET NOT MODIFIED||
+>Presets<||
+Hide Transfer Number to Dial||
+Enable Transfer Presets||
+This option will enable the Presets sub menu to appear at the top of the Campaign Modification page, and also you will have the ability to specify Preset dialing numbers for Agents to use in the Transfer-Conference frame of the agent interface. Default is DISABLED||
+This option will hide the Number to Dial field in the Transfer-Conference frame of the agent interface. Default is DISABLED||
+PRESETS FOR THIS CAMPAIGN||
+ADD NEW PRESET||
+Hide Number||
+Preset Name||
+Preset Number||
+Preset DTMF||
+CAMPAIGN PRESET LISTINGS||
+CAMPAIGN PRESET NOT DELETED||
+Show Presets Stats||
+AGENT DIAL PRESETS NAMES||
AST_VICIDIAL_ingrouplist.php
@@ -366,6 +389,9 @@ YOU MUST BE PAUSED TO VIEW YOUR CALL LOG||
Close Info Box||
No calls on this day||
You are in ALT dial mode, you must finish the lead before logging out||
+Presets Button||
+SELECT A PRESET||
+
############################################################ MANAGER Manual
diff --git a/agc_2-X/trunk/www/agc/images/vdc_XB_presetsbutton.gif b/agc_2-X/trunk/www/agc/images/vdc_XB_presetsbutton.gif
new file mode 100644
index 00000000..9ec43d21
Binary files /dev/null and b/agc_2-X/trunk/www/agc/images/vdc_XB_presetsbutton.gif differ
diff --git a/agc_2-X/trunk/www/agc/images/vdc_XB_presetsbutton_de.gif b/agc_2-X/trunk/www/agc/images/vdc_XB_presetsbutton_de.gif
new file mode 100644
index 00000000..0c07757f
Binary files /dev/null and b/agc_2-X/trunk/www/agc/images/vdc_XB_presetsbutton_de.gif differ
diff --git a/agc_2-X/trunk/www/agc/images/vdc_XB_presetsbutton_es.gif b/agc_2-X/trunk/www/agc/images/vdc_XB_presetsbutton_es.gif
new file mode 100644
index 00000000..5531753c
Binary files /dev/null and b/agc_2-X/trunk/www/agc/images/vdc_XB_presetsbutton_es.gif differ
diff --git a/agc_2-X/trunk/www/agc/images/vdc_XB_presetsbutton_ptbr.gif b/agc_2-X/trunk/www/agc/images/vdc_XB_presetsbutton_ptbr.gif
new file mode 100644
index 00000000..63ef85ec
Binary files /dev/null and b/agc_2-X/trunk/www/agc/images/vdc_XB_presetsbutton_ptbr.gif differ
diff --git a/agc_2-X/trunk/www/agc/manager_send.php b/agc_2-X/trunk/www/agc/manager_send.php
index f9160b2c..207bf72a 100644
--- a/agc_2-X/trunk/www/agc/manager_send.php
+++ b/agc_2-X/trunk/www/agc/manager_send.php
@@ -42,6 +42,7 @@
# - $agent_dialed_type - ('MANUAL_OVERRIDE','MANUAL_DIALNOW','MANUAL_PREVIEW',...)
# - $nodeletevdac - ('0','1')
# - $alertCID - ('0','1')
+# - $preset_name = ('TESTING PRESET',...)
#
# CHANGELOG:
# 50401-1002 - First build of script, Hangup function only
@@ -98,10 +99,11 @@
# 100327-0846 - Fix for list_id override answering machine message
# 100423-2304 - Added alertCID
# 100527-1014 - Added SysCIDdtmfOriginate function
+# 100813-0833 - Added preset_name variable and logging
#
-$version = '2.4-49';
-$build = '100527-1014';
+$version = '2.4-50';
+$build = '100813-0833';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=85;
$one_mysql_log=0;
@@ -191,6 +193,9 @@ if (isset($_GET["nodeletevdac"])) {$nodeletevdac=$_GET["nodeletevdac"];}
elseif (isset($_POST["nodeletevdac"])) {$nodeletevdac=$_POST["nodeletevdac"];}
if (isset($_GET["alertCID"])) {$alertCID=$_GET["alertCID"];}
elseif (isset($_POST["alertCID"])) {$alertCID=$_POST["alertCID"];}
+if (isset($_GET["preset_name"])) {$preset_name=$_GET["preset_name"];}
+ elseif (isset($_POST["preset_name"])) {$preset_name=$_POST["preset_name"];}
+
header ("Content-type: text/html; charset=utf-8");
header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
@@ -442,10 +447,31 @@ if ($ACTION=="Originate")
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','$exten','$channel','0','$outbound_cid','$RAWaccount')";
+ if (strlen($lead_id)<1) {$lead_id='0';}
+ $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name,campaign_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$exten','$channel','$lead_id','$outbound_cid','$RAWaccount','$preset_name','$campaign')";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00192',$user,$server_ip,$session_name,$one_mysql_log);}
+
+ if (strlen($preset_name) > 0)
+ {
+ $stmt = "SELECT count(*) from vicidial_xfer_stats where campaign_id='$campaign' and preset_name='$preset_name';";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02XXX',$user,$server_ip,$session_name,$one_mysql_log);}
+ $row=mysql_fetch_row($rslt);
+ if ($row[0] > 0)
+ {
+ $stmt = "UPDATE vicidial_xfer_stats SET xfer_count=(xfer_count+1) where campaign_id='$campaign' and preset_name='$preset_name';";
+ }
+ else
+ {
+ $stmt = "INSERT INTO vicidial_xfer_stats SET campaign_id='$campaign',preset_name='$preset_name',xfer_count='1';";
+ }
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
+ }
}
}
}
@@ -754,6 +780,32 @@ 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);}
}
+
+ if (strlen($preset_name) > 0)
+ {
+ $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,preset_name,campaign_id) values('$user','$NOW_TIME','BLIND_XFER','$server_ip','$exten','$channel','$lead_id','$preset_name','$campaign')";
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
+
+ $stmt = "SELECT count(*) from vicidial_xfer_stats where campaign_id='$campaign' and preset_name='$preset_name';";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02XXX',$user,$server_ip,$session_name,$one_mysql_log);}
+ $row=mysql_fetch_row($rslt);
+ if ($row[0] > 0)
+ {
+ $stmt = "UPDATE vicidial_xfer_stats SET xfer_count=(xfer_count+1) where campaign_id='$campaign' and preset_name='$preset_name';";
+ }
+ else
+ {
+ $stmt = "INSERT INTO vicidial_xfer_stats SET campaign_id='$campaign',preset_name='$preset_name',xfer_count='1';";
+ }
+ if ($DB) {echo "$stmt\n";}
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
+ }
+
$ACTION="Redirect";
}
}
diff --git a/agc_2-X/trunk/www/agc/vdc_db_query.php b/agc_2-X/trunk/www/agc/vdc_db_query.php
index c3620a6e..95c28443 100644
--- a/agc_2-X/trunk/www/agc/vdc_db_query.php
+++ b/agc_2-X/trunk/www/agc/vdc_db_query.php
@@ -3709,7 +3709,9 @@ if ($stage == "end")
{
if (strlen($hangup_channels[$loop_count])>5)
{
- $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','CH12346$StarTtime$loop_count','Channel: $hangup_channels[$loop_count]','','','','','','','','','');";
+ $variable = "Variable: ctuserserverconfleadphone=$loop_count$US$user$US$server_ip$US$conf_exten$US$lead_id$US$phone_number";
+
+ $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','CH12346$StarTtime$loop_count','Channel: $hangup_channels[$loop_count]','$variable','','','','','','','','');";
if ($format=='debug') {echo "\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00096',$user,$server_ip,$session_name,$one_mysql_log);}
diff --git a/agc_2-X/trunk/www/agc/vicidial.php b/agc_2-X/trunk/www/agc/vicidial.php
index d2df1a32..ad108646 100644
--- a/agc_2-X/trunk/www/agc/vicidial.php
+++ b/agc_2-X/trunk/www/agc/vicidial.php
@@ -305,10 +305,11 @@
# 100726-1233 - Added HANGUP, CALLMENU, EXTENSION, IN_GROUP timer actions
# 100803-2324 - Cleanup of URLDecode (issue #375)
# 100811-0810 - Added webphone_url_override option from user Groups
+# 100813-0554 - Added Campaign presets
#
-$version = '2.4-283';
-$build = '100811-0810';
+$version = '2.4-284';
+$build = '100813-0554';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=66;
$one_mysql_log=0;
@@ -1250,7 +1251,7 @@ else
$HKstatusnames = substr("$HKstatusnames", 0, -1);
##### grab the campaign settings
- $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method,three_way_dial_prefix,web_form_target,vtiger_screen_login,agent_allow_group_alias,default_group_alias,quick_transfer_button,prepopulate_transfer_preset,view_calls_in_queue,view_calls_in_queue_launch,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,timer_action_destination FROM vicidial_campaigns where campaign_id = '$VD_campaign';";
+ $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method,three_way_dial_prefix,web_form_target,vtiger_screen_login,agent_allow_group_alias,default_group_alias,quick_transfer_button,prepopulate_transfer_preset,view_calls_in_queue,view_calls_in_queue_launch,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial FROM vicidial_campaigns where campaign_id = '$VD_campaign';";
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -1329,6 +1330,8 @@ else
$blind_monitor_message = $row[71];
$blind_monitor_filename = $row[72];
$timer_action_destination = $row[73];
+ $enable_xfer_presets = $row[74];
+ $hide_xfer_number_to_dial = $row[75];
if ($manual_dial_override == 'ALLOW_ALL')
{$agentcall_manual = 1;}
@@ -1393,6 +1396,41 @@ else
{$preset_populate = $xferconf_e_number;}
}
+ $VARpreset_names='';
+ $VARpreset_numbers='';
+ $VARpreset_dtmfs='';
+ $VARpreset_hide_numbers='';
+ if ($enable_xfer_presets == 'ENABLED')
+ {
+ ##### grab the presets for this campaign
+ $stmt="SELECT preset_name,preset_number,preset_dtmf,preset_hide_number FROM vicidial_xfer_presets WHERE campaign_id='$VD_campaign' order by preset_name limit 500;";
+ $rslt=mysql_query($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01XXX',$VD_login,$server_ip,$session_name,$one_mysql_log);}
+ if ($DB) {echo "$stmt\n";}
+ $VD_presets = mysql_num_rows($rslt);
+ $j=0;
+ while ($j < $VD_presets)
+ {
+ $row=mysql_fetch_row($rslt);
+ $preset_names[$j] = $row[0];
+ $preset_numbers[$j] = $row[1];
+ $preset_dtmfs[$j] = $row[2];
+ $preset_hide_numbers[$j] = $row[3];
+ $VARpreset_names = "$VARpreset_names'$preset_names[$j]',";
+ $VARpreset_numbers = "$VARpreset_numbers'$preset_numbers[$j]',";
+ $VARpreset_dtmfs = "$VARpreset_dtmfs'$preset_dtmfs[$j]',";
+ $VARpreset_hide_numbers = "$VARpreset_hide_numbers'$preset_hide_numbers[$j]',";
+ $j++;
+ }
+ $VARpreset_names = substr("$VARpreset_names", 0, -1);
+ $VARpreset_numbers = substr("$VARpreset_numbers", 0, -1);
+ $VARpreset_dtmfs = substr("$VARpreset_dtmfs", 0, -1);
+ $VARpreset_hide_numbers = substr("$VARpreset_hide_numbers", 0, -1);
+ $VD_preset_names_ct = $j;
+ if ($j < 1)
+ {$enable_xfer_presets='DISABLED';}
+ }
+
$default_group_alias_cid='';
if (strlen($default_group_alias)>1)
{
@@ -2448,6 +2486,7 @@ $SSwidth = ($MASTERwidth + 176); # 606 - scroll script
$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session
$HKwidth = ($MASTERwidth + 20); # 450 - Hotkeys button
$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer
+$PBwidth = ($MASTERwidth + 0); # 430 - Presets list
$CLwidth = ($MASTERwidth - 160); # 270 - Calls in queue link
$WRheight = ($MASTERheight + 160); # 460 - Warning boxes
@@ -2639,6 +2678,11 @@ $CCAL_OUT .= "";
VARpause_codes = new Array();
VARpause_code_names = new Array();
var VD_pause_codes_ct = '';
+ VARpreset_names = new Array();
+ VARpreset_numbers = new Array();
+ VARpreset_dtmfs = new Array();
+ VARpreset_hide_numbers = new Array();
+ var VD_preset_names_ct = '';
VARstatuses = new Array();
VARstatusnames = new Array();
var VD_statuses_ct = '';
@@ -3001,9 +3045,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var api_transferconf_override='';
var api_parkcustomer='';
var API_selected_xfergroup='';
- var API_selected_callmenu=''
+ var API_selected_callmenu='';
var custom_fields_enabled='';
var form_contents_loaded=0;
+ var enable_xfer_presets='';
+ var hide_xfer_number_to_dial='';
+ var Presets_HTML='';
var DiaLControl_auto_HTML = "
";
var DiaLControl_auto_HTML_ready = "
";
var DiaLControl_auto_HTML_OFF = "
";
@@ -3276,6 +3323,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("ParkCustomerDial").innerHTML ="
";
var manual_number = document.vicidial_form.xfernumber.value;
+ var manual_number_hidden = document.vicidial_form.xfernumhidden.value;
+ if ( (manual_number.length < 1) && (manual_number_hidden.length > 0) )
+ {manual_number=manual_number_hidden;}
var manual_string = manual_number.toString();
var dial_conf_exten = session_id;
threeway_cid = '';
@@ -3319,17 +3369,18 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
else
{agent_dialed_type='XFER_OVERRIDE';}
}
+ var sending_preset_name = document.vicidial_form.xfername.value;
if (taskFromConf == 'YES')
- {basic_originate_call(manual_string,'NO','YES',dial_conf_exten,'NO',taskFromConf,threeway_cid,sending_group_alias);}
+ {basic_originate_call(manual_string,'NO','YES',dial_conf_exten,'NO',taskFromConf,threeway_cid,sending_group_alias,'',sending_preset_name);}
else
- {basic_originate_call(manual_string,'NO','NO','','','','1',sending_group_alias);}
+ {basic_originate_call(manual_string,'NO','NO','','','','1',sending_group_alias,sending_preset_name);}
MD_ring_secondS=0;
}
// ################################################################################
// Send Originate command to manager to place a phone call
- function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait,taskconfxfer,taskcid,taskusegroupalias,taskalert)
+ function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait,taskconfxfer,taskcid,taskusegroupalias,taskalert,taskpresetname)
{
if (taskalert == '1')
{
@@ -3459,7 +3510,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{var call_cid = campaign_cid;}
}
- VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Originate&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + call_prefix + "" + dialnum + "&ext_context=" + ext_context + "&ext_priority=1&outbound_cid=" + call_cid + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&" + alertquery;
+ VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Originate&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + call_prefix + "" + dialnum + "&ext_context=" + ext_context + "&ext_priority=1&outbound_cid=" + call_cid + "&usegroupalias="+ usegroupalias + "&preset_name=" + taskpresetname + "&campaign=" + campaign + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&lead_id=" + document.vicidial_form.lead_id.value + "&" + alertquery;
xmlhttp.open('POST', 'manager_send.php');
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
xmlhttp.send(VMCoriginate_query);
@@ -4250,6 +4301,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{document.vicidial_form.xfernumber.value = quick_transfer_button_orig;}
var queryCID = "XBvdcW" + epoch_sec + user_abb;
var blindxferdialstring = document.vicidial_form.xfernumber.value;
+ var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value;
+ if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) )
+ {blindxferdialstring=blindxferhiddendialstring;}
var regXFvars = new RegExp("XFER","g");
if (blindxferdialstring.match(regXFvars))
{
@@ -4299,7 +4353,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
else
{
- xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC;
+ xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value;
}
}
if (taskvar == 'XfeRINTERNAL')
@@ -4315,6 +4369,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
CustomerData_update();
+ document.vicidial_form.xfername.value='';
var XfeRSelecT = document.getElementById("XfeRGrouP");
var XfeR_GrouP = XfeRSelecT.value;
if (API_selected_xfergroup.length > 1)
@@ -5071,7 +5126,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
XD_live_call_secondS = 0;
MD_channel_look=0;
- document.getElementById("MainStatuSSpan").innerHTML = " Called 3rd party: " + document.vicidial_form.xfernumber.value + " UID: " + CIDcheck;
+ var called3rdparty = document.vicidial_form.xfernumber.value;
+ if (hide_xfer_number_to_dial=='ENABLED')
+ {called3rdparty=' ';}
+ document.getElementById("MainStatuSSpan").innerHTML = " Called 3rd party: " + called3rdparty + " UID: " + CIDcheck;
document.getElementById("Leave3WayCall").innerHTML ="
";
@@ -5150,28 +5208,28 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (prepopulate_transfer_preset_enabled > 0)
{
if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') )
- {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';}
if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') )
- {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';}
if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') )
- {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';}
if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') )
- {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';}
if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') )
- {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';}
}
if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') )
{
if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') )
- {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';}
if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') )
- {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';}
if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') )
- {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';}
if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') )
- {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';}
if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') )
- {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';}
quick_transfer_button_orig='';
if (quick_transfer_button_locked > 0)
{quick_transfer_button_orig = document.vicidial_form.xfernumber.value;}
@@ -6552,7 +6610,6 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
agent_dialed_type='';
CalL_ScripT_id='';
}
-
}
@@ -7096,28 +7153,28 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (prepopulate_transfer_preset_enabled > 0)
{
if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') )
- {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';}
if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') )
- {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';}
if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') )
- {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';}
if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') )
- {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';}
if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') )
- {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';}
}
if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') )
{
if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') )
- {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';}
if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') )
- {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';}
if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') )
- {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';}
if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') )
- {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';}
if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') )
- {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber;}
+ {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';}
if (quick_transfer_button_locked > 0)
{quick_transfer_button_orig = document.vicidial_form.xfernumber.value;}
@@ -8386,6 +8443,86 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
}
+
+// ################################################################################
+// Generate the Presets Chooser span content
+ function generate_presets_pulldown()
+ {
+ showDiv('PresetsSelectBox');
+ Presets_HTML = '';
+ document.vicidial_form.PresetSelection.value = '';
+ Presets_HTML = "
";
+ document.getElementById("PresetsSelectBoxContent").innerHTML = Presets_HTML;
+ }
+
+
+// ################################################################################
+// Submit chosen Preset
+ function PresetSelect_submit(taskpresetname,taskpresetnumber,taskpresetdtmf,taskhidenumber)
+ {
+ hideDiv('PresetsSelectBox');
+ document.vicidial_form.conf_dtmf.value = taskpresetdtmf;
+ document.vicidial_form.xfername.value = taskpresetname;
+ if ( (taskhidenumber=='Y') && (hide_xfer_number_to_dial=='DISABLED') )
+ {
+ document.vicidial_form.xfernumhidden.value = taskpresetnumber;
+ document.vicidial_form.xfernumber.value='';
+ }
+ else
+ {
+ document.vicidial_form.xfernumhidden.value = '';
+ document.vicidial_form.xfernumber.value = taskpresetnumber;
+ }
+ }
+
+
// ################################################################################
// Generate the Group Alias Chooser panel
function GroupAliasSelectContent_create(task3way)
@@ -8591,6 +8728,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
timer_action_seconds='';
timer_action_mesage='';
timer_action_destination='';
+ document.vicidial_form.xfername.value='';
+ document.vicidial_form.xfernumhidden.value='';
if (manual_dial_in_progress==1)
{
@@ -8735,23 +8874,28 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.vicidial_form.conf_dtmf.value = CalL_XC_a_Dtmf;
document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber;
+ document.vicidial_form.xfername.value = 'D1';
}
function DtMf_PreSet_b()
{
document.vicidial_form.conf_dtmf.value = CalL_XC_b_Dtmf;
document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber;
+ document.vicidial_form.xfername.value = 'D2';
}
function DtMf_PreSet_c()
{
document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber;
+ document.vicidial_form.xfername.value = 'D3';
}
function DtMf_PreSet_d()
{
document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber;
+ document.vicidial_form.xfername.value = 'D4';
}
function DtMf_PreSet_e()
{
document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber;
+ document.vicidial_form.xfername.value = 'D5';
}
function DtMf_PreSet_a_DiaL()
@@ -10122,6 +10266,7 @@ function phone_number_format(formatphone) {
AgentsViewOpen('AgentXferViewSelect','open');
refresh_agents_view('AgentXferViewSelect',agent_status_view)
xfer_select_agents_active=1;
+ document.vicidial_form.xfername.value='';
}
}
@@ -10603,6 +10748,7 @@ else
hideDiv('CallBacKsLisTBox');
hideDiv('NeWManuaLDiaLBox');
hideDiv('PauseCodeSelectBox');
+ hideDiv('PresetsSelectBox');
hideDiv('GroupAliasSelectBox');
hideDiv('AgentViewSpan');
hideDiv('AgentXferViewSpan');
@@ -11840,9 +11986,24 @@ if ($agent_display_dialable_leads > 0)
-
+
+
+
+
+
AGENTS
+
+
|
DIAL OVERRIDE
@@ -11860,13 +12021,26 @@ if ($agent_display_dialable_leads > 0)
-
- D1
- D2
- D3
- D4
- D5
-
+
+
+
+
+ D1
+ D2
+ D3
+ D4
+ D5
+
+
|
@@ -12187,6 +12361,13 @@ Available Agents Transfer:
+
+ > SELECT A PRESET :
+ Presets Selection
+
+ |
+
+
height=> SELECT A GROUP ALIAS :
Group Alias Selection
diff --git a/agc_2-X/trunk/www/vicidial/AST_VDADstats.php b/agc_2-X/trunk/www/vicidial/AST_VDADstats.php
index 10ef469b..78453e4f 100644
--- a/agc_2-X/trunk/www/vicidial/AST_VDADstats.php
+++ b/agc_2-X/trunk/www/vicidial/AST_VDADstats.php
@@ -28,6 +28,7 @@
# 100216-0042 - Added popup date selector
# 100712-1324 - Added system setting slave server option
# 100802-2347 - Added User Group Allowed Reports option validation and allowed campaigns restrictions
+# 100814-2307 - Added display of preset dials if presets are enabled in the campaign
#
header ("Content-type: text/html; charset=utf-8");
@@ -1032,7 +1033,7 @@ else
if ( ($carrier_logging_active > 0) and ($carrier_stats == 'YES') )
{
##############################
- ######### STATUS CATEGORY STATS
+ ######### CARRIER STATS
$OUToutput .= "\n";
$OUToutput .= "---------- CARRIER CALL STATUSES\n";
@@ -1067,6 +1068,55 @@ else
}
+ ## find if any selected campaigns have presets enabled
+ $presets_enabled=0;
+ $stmt="select count(*) from vicidial_campaigns where enable_xfer_presets='ENABLED' $group_SQLand;";
+ $rslt=mysql_query($stmt, $link);
+ if ($DB) {$OUToutput .= "$stmt\n";}
+ $presets_enabled_count = mysql_num_rows($rslt);
+ if ($presets_enabled_count > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $presets_enabled = $row[0];
+ }
+
+ if ($presets_enabled > 0)
+ {
+ ##############################
+ ######### PRESET DIAL STATS
+
+ $OUToutput .= "\n";
+ $OUToutput .= "---------- AGENT PRESET DIALS\n";
+ $OUToutput .= "+------------------------------------------+------------+\n";
+ $OUToutput .= "| PRESET NAME | CALLS |\n";
+ $OUToutput .= "+------------------------------------------+------------+\n";
+
+ ## get counts and time totals for all statuses in this campaign
+ $stmt="select preset_name,count(*) from user_call_log where call_date > \"$query_date_BEGIN\" and call_date < \"$query_date_END\" and preset_name!='' and preset_name is not NULL $group_SQLand group by preset_name order by preset_name;";
+ $rslt=mysql_query($stmt, $link);
+ if ($DB) {$OUToutput .= "$stmt\n";}
+ $carrierstatuses_to_print = mysql_num_rows($rslt);
+ $i=0;
+ while ($i < $carrierstatuses_to_print)
+ {
+ $row=mysql_fetch_row($rslt);
+ $TOTPREcalls = ($TOTPREcalls + $row[1]);
+ $PREstatus = sprintf("%-40s", $row[0]); while(strlen($PREstatus)>40) {$PREstatus = substr("$PREstatus", 0, -1);}
+ $PREcount = sprintf("%10s", $row[1]); while(strlen($PREcount)>10) {$PREcount = substr("$PREcount", 0, -1);}
+
+ $OUToutput .= "| $PREstatus | $PREcount |\n";
+
+ $i++;
+ }
+
+ $TOTPREcalls = sprintf("%10s", $TOTPREcalls); while(strlen($TOTPREcalls)>10) {$TOTPREcalls = substr("$TOTPREcalls", 0, -1);}
+
+ $OUToutput .= "+------------------------------------------+------------+\n";
+ $OUToutput .= "| TOTAL | $TOTPREcalls |\n";
+ $OUToutput .= "+------------------------------------------+------------+\n";
+ }
+
+
##############################
######### STATUS CATEGORY STATS
diff --git a/agc_2-X/trunk/www/vicidial/AST_timeonVDADall.php b/agc_2-X/trunk/www/vicidial/AST_timeonVDADall.php
index b36a0e3d..620daf67 100644
--- a/agc_2-X/trunk/www/vicidial/AST_timeonVDADall.php
+++ b/agc_2-X/trunk/www/vicidial/AST_timeonVDADall.php
@@ -65,10 +65,11 @@
# 100709-1054 - Added system setting slave server option
# 100802-2347 - Added User Group Allowed Reports option validation and allowed campaigns restrictions
# 100805-0704 - Fixed minor bug in campaigns restrictions
+# 100815-0002 - Added optional display of preset dials if presets are enabled in the campaign
#
-$version = '2.4-56';
-$build = '100805-0704';
+$version = '2.4-57';
+$build = '100815-0002';
header ("Content-type: text/html; charset=utf-8");
@@ -130,6 +131,8 @@ if (isset($_GET["monitor_phone"])) {$monitor_phone=$_GET["monitor_phone"];}
elseif (isset($_POST["monitor_phone"])) {$monitor_phone=$_POST["monitor_phone"];}
if (isset($_GET["CARRIERstats"])) {$CARRIERstats=$_GET["CARRIERstats"];}
elseif (isset($_POST["CARRIERstats"])) {$CARRIERstats=$_POST["CARRIERstats"];}
+if (isset($_GET["PRESETstats"])) {$PRESETstats=$_GET["PRESETstats"];}
+ elseif (isset($_POST["PRESETstats"])) {$PRESETstats=$_POST["PRESETstats"];}
$report_name = 'Real-Time Main Report';
$db_source = 'M';
@@ -490,6 +493,29 @@ $select_list .= " |