From a06c8d2fe9ca306ddc71dc37bf4a858095727802 Mon Sep 17 00:00:00 2001 From: mattf Date: Thu, 29 Oct 2015 12:50:38 +0000 Subject: [PATCH] Added admin web interface to allow for easy linking and display of custom reports that are not included in Vicidial Added Status Groups and the ability to override Campaign Statuses on a per-In-Group or per-List basis Added Minimum and Maximum Seconds options for all status settings. This allows you to prevent the use of a status by an agent if they have talked to a customer less than X seconds or more than Y seconds. Fixed issue with email Customer Gone message in agent screen Added Asterisk 1.8 and higher voicemail.conf sample file Added listed support in install.pl for Asterisk 11 git-svn-id: svn://192.168.202.10@2403 3d104415-ff17-0410-8863-d5cf3c621b8a --- agc_2-X/trunk/UPGRADE | 10 + .../conf_examples/voicemail.conf.sample-1.8 | 59 + .../trunk/extras/MySQL_AST_CREATE_tables.sql | 41 +- agc_2-X/trunk/extras/upgrade_2.12.sql | 37 + agc_2-X/trunk/install.pl | 8 +- agc_2-X/trunk/www/agc/vdc_db_query.php | 83 +- agc_2-X/trunk/www/agc/vicidial.php | 827 +++++++-- agc_2-X/trunk/www/vicidial/admin.php | 1584 ++++++++++++----- agc_2-X/trunk/www/vicidial/admin_header.php | 9 + agc_2-X/trunk/www/vicidial/help.php | 66 +- .../vicidial_custom_reports_admin.php | 472 +++++ .../www/vicidial/vicidial_stylesheet.css | 5 + 12 files changed, 2599 insertions(+), 602 deletions(-) create mode 100644 agc_2-X/trunk/docs/conf_examples/voicemail.conf.sample-1.8 create mode 100644 agc_2-X/trunk/www/vicidial/vicidial_custom_reports_admin.php diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE index 5aedeb02..45e38cb4 100644 --- a/agc_2-X/trunk/UPGRADE +++ b/agc_2-X/trunk/UPGRADE @@ -165,6 +165,16 @@ OTHER CHANGES: 39. Changed AC-CID to be able to use areacodes from 2 to 5 digits in length +40. Added admin web interface to allow for easy linking and display of custom + reports that are not included in Vicidial + +41. Added Status Groups and the ability to override Campaign Statuses on a + per-In-Group or per-List basis + +42. Added Minimum and Maximum Seconds options for all status settings. This + allows you to prevent the use of a status by an agent if they have + talked to a customer less than X seconds or more than Y seconds. + diff --git a/agc_2-X/trunk/docs/conf_examples/voicemail.conf.sample-1.8 b/agc_2-X/trunk/docs/conf_examples/voicemail.conf.sample-1.8 new file mode 100644 index 00000000..9dc3e837 --- /dev/null +++ b/agc_2-X/trunk/docs/conf_examples/voicemail.conf.sample-1.8 @@ -0,0 +1,59 @@ +; WARNING- THIS FILE IS AUTO-GENERATED BY VICIDIAL, ANY EDITS YOU MAKE WILL BE LOST +; ONLY VOICEMAIL BOXES DEFINED IN VICIDIAL WILL BE ALLOWED IN THIS FILE +; IF YOU WANT TO ADD NON-VICIDIAL VOICEMAIL BOXES, ADD THEM IN A NEW +; CONTEXT BEFORE THE DEFAULT CONTEXT + +[general] +format=wav49|gsm|wav +serveremail=asterisk +attach=yes +skipms=3000 +maxsilence=10 +silencethreshold=128 +maxlogins=3 +maxmsg=500 +maxsec=300 +emailbody=Dear ${VM_NAME}:\n\n\tJust wanted to let you know you were just left a ${VM_DUR} long message (number ${VM_MSGNUM})\nin mailbox ${VM_MAILBOX} from ${VM_CIDNAME} ${VM_CIDNUM}, on ${VM_DATE}, so you might\nwant to check it when you get a chance. Thanks!\n\n\t\t\t\t--PBX\n + +[zonemessages] +newzealand=Pacific/Auckland|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +australiaeast=Australia/Sydney|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +australiacentral=Australia/Adelaide|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +australiawest=Australia/Perth|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +japan=Asia/Tokyo|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +philippines=Asia/Manila|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +china=Asia/Shanghai|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +malaysia=Asia/Kuala_Lumpur|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +thailand=Asia/Bangkok|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +india=Asia/Calcutta|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +pakistan=Asia/Karachi|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +russiaeast=Europe/Moscow|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +kenya=Africa/Nairobi|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +europeaneast=Europe/Kiev|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +southafrica=Africa/Johannesburg|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +european=Europe/Copenhagen|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +nigeria=Africa/Lagos|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +uk=Europe/London|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +brazil=America/Sao_Paulo|'vm-received' Q 'digits/at' IMp +newfoundland=Canada/Newfoundland|'vm-received' Q 'digits/at' IMp +carribeaneast=America/Santo_Domingo|'vm-received' Q 'digits/at' IMp +atlantic=Canada/Atlantic|'vm-received' Q 'digits/at' IMp +chile=America/Santiago|'vm-received' Q 'digits/at' IMp +eastern=America/New_York|'vm-received' Q 'digits/at' IMp +peru=America/Lima|'vm-received' Q 'digits/at' IMp +central=America/Chicago|'vm-received' Q 'digits/at' IMp +mexicocity=America/Mexico_City|'vm-received' Q 'digits/at' IMp +mountain=America/Denver|'vm-received' Q 'digits/at' IMp +arizona=America/Phoenix|'vm-received' Q 'digits/at' IMp +saskatchewan=America/Saskatchewan|'vm-received' Q 'digits/at' IMp +pacific=America/Los_Angeles|'vm-received' Q 'digits/at' IMp +alaska=America/Anchorage|'vm-received' Q 'digits/at' IMp +hawaii=Pacific/Honolulu|'vm-received' Q 'digits/at' IMp +eastern24=America/New_York|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +central24=America/Chicago|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +mountain24=America/Denver|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +pacific24=America/Los_Angeles|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' +military=Zulu|'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p' + +[default] +; mailboxes go here 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 7fd0e9bd..07f8b8bd 100644 --- a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql +++ b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql @@ -686,7 +686,8 @@ webphone_url_override VARCHAR(255) default '', webphone_systemkey_override VARCHAR(100) default '', webphone_dialpad_override ENUM('DISABLED','Y','N','TOGGLE','TOGGLE_OFF') default 'DISABLED', admin_viewable_groups TEXT, -admin_viewable_call_times TEXT +admin_viewable_call_times TEXT, +allowed_custom_reports VARCHAR(2000) default '' ) ENGINE=MyISAM; CREATE TABLE vicidial_campaigns ( @@ -961,7 +962,8 @@ inventory_report ENUM('Y','N') default 'Y', expiration_date DATE default '2099-12-31', na_call_url TEXT, local_call_time VARCHAR(10) NOT NULL DEFAULT 'campaign', -web_form_address_three TEXT +web_form_address_three TEXT, +status_group_id VARCHAR(20) default '' ) ENGINE=MyISAM; CREATE TABLE vicidial_statuses ( @@ -976,14 +978,16 @@ customer_contact ENUM('Y','N') default 'N', not_interested ENUM('Y','N') default 'N', unworkable ENUM('Y','N') default 'N', scheduled_callback ENUM('Y','N') default 'N', -completed ENUM('Y','N') default 'N' +completed ENUM('Y','N') default 'N', +min_sec INT(5) UNSIGNED default '0', +max_sec INT(5) UNSIGNED default '0' ) ENGINE=MyISAM; CREATE TABLE vicidial_campaign_statuses ( status VARCHAR(6) NOT NULL, status_name VARCHAR(30), selectable ENUM('Y','N'), -campaign_id VARCHAR(8), +campaign_id VARCHAR(20), human_answered ENUM('Y','N') default 'N', category VARCHAR(20) default 'UNDEFINED', sale ENUM('Y','N') default 'N', @@ -993,6 +997,8 @@ not_interested ENUM('Y','N') default 'N', unworkable ENUM('Y','N') default 'N', scheduled_callback ENUM('Y','N') default 'N', completed ENUM('Y','N') default 'N', +min_sec INT(5) UNSIGNED default '0', +max_sec INT(5) UNSIGNED default '0', index (campaign_id) ) ENGINE=MyISAM; @@ -1148,7 +1154,8 @@ drop_lead_reset ENUM('Y','N') default 'N', after_hours_lead_reset ENUM('Y','N') default 'N', nanq_lead_reset ENUM('Y','N') default 'N', wait_time_lead_reset ENUM('Y','N') default 'N', -hold_time_lead_reset ENUM('Y','N') default 'N' +hold_time_lead_reset ENUM('Y','N') default 'N', +status_group_id VARCHAR(20) default '' ) ENGINE=MyISAM; CREATE TABLE vicidial_stations ( @@ -1612,7 +1619,8 @@ chat_timeout INT(3) unsigned DEFAULT NULL, agent_debug_logging VARCHAR(20) default '0', default_language VARCHAR(100) default 'default English', agent_whisper_enabled ENUM('0','1') default '0', -user_hide_realtime_enabled ENUM('0','1') default '0' +user_hide_realtime_enabled ENUM('0','1') default '0', +custom_reports_use_slave_db VARCHAR(2000) default '' ) ENGINE=MyISAM; CREATE TABLE vicidial_campaigns_list_mix ( @@ -3327,6 +3335,25 @@ user VARCHAR(20) default '', index (phone_number) ) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; +CREATE TABLE vicidial_status_groups ( +status_group_id VARCHAR(20) PRIMARY KEY NOT NULL, +status_group_notes VARCHAR(255) default '', +user_group VARCHAR(20) default '---ALL---' +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_custom_reports ( +custom_report_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +report_name VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +date_added DATETIME DEFAULT NULL, +user VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +domain VARCHAR(70) COLLATE utf8_unicode_ci DEFAULT NULL, +path_name VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +date_modified TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +user_modify VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +PRIMARY KEY (custom_report_id), +UNIQUE KEY custom_report_name_key (report_name) +) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + ALTER TABLE vicidial_email_list MODIFY message text character set utf8; @@ -3576,4 +3603,4 @@ UPDATE vicidial_configuration set value='1766' where name='qc_database_version'; UPDATE system_settings set vdc_agent_api_active='1'; -UPDATE system_settings SET db_schema_version='1432',db_schema_update_date=NOW(),reload_timestamp=NOW(); +UPDATE system_settings SET db_schema_version='1433',db_schema_update_date=NOW(),reload_timestamp=NOW(); diff --git a/agc_2-X/trunk/extras/upgrade_2.12.sql b/agc_2-X/trunk/extras/upgrade_2.12.sql index a8348999..39f59f4b 100644 --- a/agc_2-X/trunk/extras/upgrade_2.12.sql +++ b/agc_2-X/trunk/extras/upgrade_2.12.sql @@ -303,3 +303,40 @@ index (phone_number) ) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; UPDATE system_settings SET db_schema_version='1432',db_schema_update_date=NOW() where db_schema_version < 1432; + +CREATE TABLE vicidial_status_groups ( +status_group_id VARCHAR(20) PRIMARY KEY NOT NULL, +status_group_notes VARCHAR(255) default '', +user_group VARCHAR(20) default '---ALL---' +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +ALTER TABLE vicidial_campaign_statuses MODIFY campaign_id VARCHAR(20); + +ALTER TABLE vicidial_lists ADD status_group_id VARCHAR(20) default ''; + +ALTER TABLE vicidial_inbound_groups ADD status_group_id VARCHAR(20) default ''; + +ALTER TABLE vicidial_campaign_statuses ADD min_sec INT(5) UNSIGNED default '0'; +ALTER TABLE vicidial_campaign_statuses ADD max_sec INT(5) UNSIGNED default '0'; + +ALTER TABLE vicidial_statuses ADD min_sec INT(5) UNSIGNED default '0'; +ALTER TABLE vicidial_statuses ADD max_sec INT(5) UNSIGNED default '0'; + +ALTER TABLE system_settings ADD custom_reports_use_slave_db VARCHAR(2000) default ''; + +ALTER TABLE vicidial_user_groups ADD allowed_custom_reports VARCHAR(2000) default ''; + +CREATE TABLE vicidial_custom_reports ( +custom_report_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +report_name VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +date_added DATETIME DEFAULT NULL, +user VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +domain VARCHAR(70) COLLATE utf8_unicode_ci DEFAULT NULL, +path_name VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +date_modified TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +user_modify VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +PRIMARY KEY (custom_report_id), +UNIQUE KEY custom_report_name_key (report_name) +) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +UPDATE system_settings SET db_schema_version='1433',db_schema_update_date=NOW() where db_schema_version < 1433; diff --git a/agc_2-X/trunk/install.pl b/agc_2-X/trunk/install.pl index 812924d0..8bc8c857 100644 --- a/agc_2-X/trunk/install.pl +++ b/agc_2-X/trunk/install.pl @@ -39,6 +39,7 @@ # 150302-0706 - Removed path changes for non-English languages # 150312-0942 - Added ExpectedDBSchema value in astguiclient.conf # 150911-1808 - Added creation of GPG directory for encrypted recordings +# 151029-0650 - Added Asterisk 11 as listed option, added new sample voicemail.conf for 1.8 and higher # ############################################ @@ -1841,6 +1842,7 @@ else print " 1.2\n"; print " 1.4\n"; print " 1.8\n"; + print " 11.X\n"; print "Enter asterisk version or press enter for default: [$VARasterisk_version] "; $PROMPTasterisk_version = ; chomp($PROMPTasterisk_version); @@ -2700,15 +2702,17 @@ if ( ($PROMPTcopy_conf_files =~ /y/i) || ($CLIcopy_conf_files =~ /y/i) ) `cp -f ./docs/conf_examples/iax.conf.sample /etc/asterisk/iax.conf`; `cp -f ./docs/conf_examples/sip.conf.sample /etc/asterisk/sip.conf`; `cp -f ./docs/conf_examples/manager.conf.sample /etc/asterisk/manager.conf`; + `cp -f ./docs/conf_examples/voicemail.conf.sample /etc/asterisk/voicemail.conf`; } else { - if ($VARasterisk_version =~ /^1.8/) + if ($VARasterisk_version =~ /^1.8|^11/) { `cp -f ./docs/conf_examples/extensions.conf.sample-1.8 /etc/asterisk/extensions.conf`; `cp -f ./docs/conf_examples/iax.conf.sample-1.4 /etc/asterisk/iax.conf`; `cp -f ./docs/conf_examples/sip.conf.sample-1.4 /etc/asterisk/sip.conf`; `cp -f ./docs/conf_examples/manager.conf.sample-1.8 /etc/asterisk/manager.conf`; + `cp -f ./docs/conf_examples/voicemail.conf.sample-1.8 /etc/asterisk/voicemail.conf`; } else { @@ -2716,11 +2720,11 @@ if ( ($PROMPTcopy_conf_files =~ /y/i) || ($CLIcopy_conf_files =~ /y/i) ) `cp -f ./docs/conf_examples/iax.conf.sample-1.4 /etc/asterisk/iax.conf`; `cp -f ./docs/conf_examples/sip.conf.sample-1.4 /etc/asterisk/sip.conf`; `cp -f ./docs/conf_examples/manager.conf.sample /etc/asterisk/manager.conf`; + `cp -f ./docs/conf_examples/voicemail.conf.sample /etc/asterisk/voicemail.conf`; } } `cp -f ./docs/conf_examples/meetme.conf.sample /etc/asterisk/meetme.conf`; `cp -f ./docs/conf_examples/musiconhold.conf.sample /etc/asterisk/musiconhold.conf`; - `cp -f ./docs/conf_examples/voicemail.conf.sample /etc/asterisk/voicemail.conf`; `cp -f ./docs/conf_examples/logger.conf.sample /etc/asterisk/logger.conf`; `cp -f ./docs/conf_examples/dnsmgr.conf.sample /etc/asterisk/dnsmgr.conf`; `cp -f ./docs/conf_examples/features.conf.sample /etc/asterisk/features.conf`; 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 94b1c880..5b1a04b6 100644 --- a/agc_2-X/trunk/www/agc/vdc_db_query.php +++ b/agc_2-X/trunk/www/agc/vdc_db_query.php @@ -391,10 +391,11 @@ # 150923-2013 - Added DID custom variables to call data transmission # 150928-1818 - Added dnc logging # 151006-0939 - Changed campaign_cid_areacodes to operate with 2-5 digit areacodes +# 151026-1710 - Added function for Status Groups lookups and delivery to agent screen # -$version = '2.12-286'; -$build = '151006-0939'; +$version = '2.12-287'; +$build = '151026-1710'; $php_script = 'vdc_db_query.php'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=635; @@ -4076,7 +4077,7 @@ if ($ACTION == 'manDiaLnextCaLL') ### Look for number preset override settings from list if (strlen($list_id)>0) { - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,list_name,list_description from vicidial_lists where list_id='$list_id';"; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,list_name,list_description,status_group_id from vicidial_lists where list_id='$list_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00278',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4097,8 +4098,9 @@ if ($ACTION == 'manDiaLnextCaLL') if (strlen($row[5]) > 0) {$list_name = $row[5];} $list_description = $row[6]; + $status_group_gather_data = status_group_gather($row[7],'LIST'); } - + $custom_field_names='|'; $custom_field_names_SQL=''; $custom_field_values='----------'; @@ -4221,6 +4223,7 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $VDCL_ingroup_script_color . "\n"; $LeaD_InfO .= $list_description . "\n"; $LeaD_InfO .= $entry_date . "\n"; + $LeaD_InfO .= $status_group_gather_data . "\n"; echo $LeaD_InfO; } @@ -6888,7 +6891,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Check for List ID override settings if (strlen($list_id)>0) { - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,list_name,web_form_address_three,list_description from vicidial_lists where list_id='$list_id';"; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,list_name,web_form_address_three,list_description,status_group_id from vicidial_lists where list_id='$list_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00281',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6915,6 +6918,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($row[8]) > 5) {$VDCL_group_web_three = $row[8];} $list_description = $row[9]; + $status_group_gather_data = status_group_gather($row[10],'LIST'); } } @@ -6994,7 +6998,7 @@ if ($ACTION == 'VDADcheckINCOMING') $script_recording_delay = $row[0]; } - $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination,web_form_address_three from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination,web_form_address_three,status_group_id from vicidial_inbound_groups where group_id='$VDADchannel_group';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00119',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7030,6 +7034,8 @@ if ($ACTION == 'VDADcheckINCOMING') $VDCL_timer_action_destination = $row[25]; $VDCL_group_web_three = stripslashes($row[26]); + $status_group_gather_data = status_group_gather($row[27],'INGROUP'); + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); @@ -7110,6 +7116,7 @@ if ($ACTION == 'VDADcheckINCOMING') } } + ### update the comments in vicidial_live_agents record $stmt = "UPDATE vicidial_live_agents set comments='INBOUND',last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} @@ -7204,7 +7211,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Check for List ID override settings if (strlen($list_id)>0) { - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,list_name,web_form_address_three,list_description from vicidial_lists where list_id='$list_id';"; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,list_name,web_form_address_three,list_description,status_group_id from vicidial_lists where list_id='$list_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00282',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7231,6 +7238,10 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($row[8]) > 5) {$VDCL_group_web_three = $row[8];} $list_description = $row[9]; + if (strlen($status_group_gather_data)<5) + { + $status_group_gather_data = status_group_gather($row[10],'LIST'); + } } } @@ -7421,6 +7432,7 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $DID_custom_three . "\n"; $LeaD_InfO .= $DID_custom_four . "\n"; $LeaD_InfO .= $DID_custom_five . "\n"; + $LeaD_InfO .= $status_group_gather_data . "\n"; echo $LeaD_InfO; @@ -8105,7 +8117,7 @@ if ($ACTION == 'VDADcheckINCOMINGemail') $row=mysqli_fetch_row($rslt); $VDCL_front_VDlog =$row[0]; } - $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination,web_form_address_three from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination,web_form_address_three,status_group_id from vicidial_inbound_groups where group_id='$VDADchannel_group';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} @@ -8141,6 +8153,8 @@ if ($ACTION == 'VDADcheckINCOMINGemail') $VDCL_timer_action_destination = $row[25]; $VDCL_group_web_three = stripslashes($row[26]); + $status_group_gather_data = status_group_gather($row[27],'INGROUP'); + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); @@ -8284,7 +8298,7 @@ if ($ACTION == 'VDADcheckINCOMINGemail') ### Check for List ID override settings if (strlen($list_id)>0) { - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,list_name,web_form_address_three,list_description from vicidial_lists where list_id='$list_id';"; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,list_name,web_form_address_three,list_description,status_group_id from vicidial_lists where list_id='$list_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} @@ -8311,6 +8325,10 @@ if ($ACTION == 'VDADcheckINCOMINGemail') if (strlen($row[8]) > 5) {$VDCL_group_web_three = $row[8];} $list_description = $row[9]; + if (strlen($status_group_gather_data)<5) + { + $status_group_gather_data = status_group_gather($row[10],'LIST'); + } } } @@ -8470,6 +8488,7 @@ if ($ACTION == 'VDADcheckINCOMINGemail') $LeaD_InfO .= $DID_custom_three . "\n"; $LeaD_InfO .= $DID_custom_four . "\n"; $LeaD_InfO .= $DID_custom_five . "\n"; + $LeaD_InfO .= $status_group_gather_data . "\n"; echo $LeaD_InfO; @@ -9192,7 +9211,7 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE') $script_recording_delay = $row[0]; } - $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination,web_form_address_three from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination,web_form_address_three,status_group_id from vicidial_inbound_groups where group_id='$VDADchannel_group';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} @@ -9228,6 +9247,8 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE') $VDCL_timer_action_destination = $row[25]; $VDCL_group_web_three = stripslashes($row[26]); + $status_group_gather_data = status_group_gather($row[27],'INGROUP'); + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); @@ -9330,7 +9351,7 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE') ### Check for List ID override settings if (strlen($list_id)>0) { - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,list_name,web_form_address_three,list_description from vicidial_lists where list_id='$list_id';"; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,list_name,web_form_address_three,list_description,status_group_id from vicidial_lists where list_id='$list_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} @@ -9357,6 +9378,10 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE') if (strlen($row[8]) > 5) {$VDCL_group_web_three = $row[8];} $list_description = $row[9]; + if (strlen($status_group_gather_data)<5) + { + $status_group_gather_data = status_group_gather($row[10],'LIST'); + } } } @@ -9558,6 +9583,7 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE') $LeaD_InfO .= $DID_custom_three . "\n"; $LeaD_InfO .= $DID_custom_four . "\n"; $LeaD_InfO .= $DID_custom_five . "\n"; + $LeaD_InfO .= $status_group_gather_data . "\n"; echo $LeaD_InfO; @@ -14449,4 +14475,39 @@ function sip_hangup_cause_description($sip_code) else { return _QXZ("Unidentified SIP Hangup Cause Code."); } } + +##### Gather custom list/in-group status group statuses ##### +function status_group_gather($status_group_id,$record_type) + { + global $NOW_TIME,$link,$mel,$user,$server_ip,$session_name,$one_mysql_log; + + $status_group_statuses=''; + $cs_ct=0; + + if ( (strlen($status_group_id)>0) and ($status_group_id != 'NONE') ) + { + $stmt = "SELECT status,status_name,scheduled_callback,min_sec,max_sec from vicidial_campaign_statuses where campaign_id='$status_group_id' and selectable='Y';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$cs_ct = mysqli_num_rows($rslt);} + $i=0; + while ($cs_ct > $i) + { + $row=mysqli_fetch_row($rslt); + $status = $row[0]; + $status_name = $row[1]; + $scheduled_callback = $row[2]; + $min_sec = $row[3]; + $max_sec = $row[4]; + $status_group_statuses .= "$status|$status_name|$scheduled_callback|$min_sec|$max_sec,"; + + $i++; + } + if (strlen($status_group_statuses)>0) + {$status_group_statuses = substr("$status_group_statuses", 0, -1);} + } + return $status_group_statuses; + } + ?> diff --git a/agc_2-X/trunk/www/agc/vicidial.php b/agc_2-X/trunk/www/agc/vicidial.php index e61c3054..4a9431a7 100644 --- a/agc_2-X/trunk/www/agc/vicidial.php +++ b/agc_2-X/trunk/www/agc/vicidial.php @@ -502,10 +502,11 @@ # 150923-1952 - Added DID custum fields as web and form variables # 150928-1205 - Fixed issue with API transfers and dial_override flag # 151022-0004 - Added audio alert when email arrives, issue #899 +# 151028-1458 - Added status groups statuses feature with min/max seconds qualifiers for statuses # -$version = '2.12-474c'; -$build = '151022-0004'; +$version = '2.12-475c'; +$build = '151028-1458'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=85; $one_mysql_log=0; @@ -1522,9 +1523,19 @@ else $VARSELstatuses=''; $VARSELstatuses_ct=0; $VARCBstatuses=''; + $VARMINstatuses=''; + $VARMAXstatuses=''; $VARCBstatusesLIST=''; + $cVARstatuses=''; + $cVARstatusnames=''; + $cVARSELstatuses=''; + $cVARSELstatuses_ct=0; + $cVARCBstatuses=''; + $cVARMINstatuses=''; + $cVARMAXstatuses=''; + $cVARCBstatusesLIST=''; ##### grab the statuses that can be used for dispositioning by an agent - $stmt="SELECT status,status_name,scheduled_callback,selectable FROM vicidial_statuses WHERE status != 'NEW' order by status limit 500;"; + $stmt="SELECT status,status_name,scheduled_callback,selectable,min_sec,max_sec FROM vicidial_statuses WHERE status != 'NEW' order by status limit 500;"; $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01010',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -1533,15 +1544,19 @@ else while ($i < $VD_statuses_ct) { $row=mysqli_fetch_row($rslt); - $statuses[$i] =$row[0]; - $status_names[$i] =$row[1]; - $CBstatuses[$i] =$row[2]; - $SELstatuses[$i] =$row[3]; + $statuses[$i] = $row[0]; + $status_names[$i] = $row[1]; + $CBstatuses[$i] = $row[2]; + $SELstatuses[$i] = $row[3]; + $MINsec[$i] = $row[4]; + $MAXsec[$i] = $row[5]; if ($TEST_all_statuses > 0) {$SELstatuses[$i]='Y';} $VARstatuses = "$VARstatuses'$statuses[$i]',"; $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; $VARSELstatuses = "$VARSELstatuses'$SELstatuses[$i]',"; $VARCBstatuses = "$VARCBstatuses'$CBstatuses[$i]',"; + $VARMINstatuses = "$VARMINstatuses'$MINsec[$i]',"; + $VARMAXstatuses = "$VARMAXstatuses'$MAXsec[$i]',"; if ($CBstatuses[$i] == 'Y') {$VARCBstatusesLIST .= " $statuses[$i]";} if ($SELstatuses[$i] == 'Y') @@ -1550,7 +1565,7 @@ else } ##### grab the campaign-specific statuses that can be used for dispositioning by an agent - $stmt="SELECT status,status_name,scheduled_callback,selectable FROM vicidial_campaign_statuses WHERE status != 'NEW' and campaign_id='$VD_campaign' order by status limit 500;"; + $stmt="SELECT status,status_name,scheduled_callback,selectable,min_sec,max_sec FROM vicidial_campaign_statuses WHERE status != 'NEW' and campaign_id='$VD_campaign' order by status limit 500;"; $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01011',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -1559,28 +1574,41 @@ else while ($j < $VD_statuses_camp) { $row=mysqli_fetch_row($rslt); - $statuses[$i] =$row[0]; - $status_names[$i] =$row[1]; - $CBstatuses[$i] =$row[2]; - $SELstatuses[$i] =$row[3]; + $statuses[$i] = $row[0]; + $status_names[$i] = $row[1]; + $CBstatuses[$i] = $row[2]; + $SELstatuses[$i] = $row[3]; + $MINsec[$i] = $row[4]; + $MAXsec[$i] = $row[5]; if ($TEST_all_statuses > 0) {$SELstatuses[$i]='Y';} - $VARstatuses = "$VARstatuses'$statuses[$i]',"; - $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; - $VARSELstatuses = "$VARSELstatuses'$SELstatuses[$i]',"; - $VARCBstatuses = "$VARCBstatuses'$CBstatuses[$i]',"; + $cVARstatuses = "$cVARstatuses'$statuses[$i]',"; + $cVARstatusnames = "$cVARstatusnames'$status_names[$i]',"; + $cVARSELstatuses = "$cVARSELstatuses'$SELstatuses[$i]',"; + $cVARCBstatuses = "$cVARCBstatuses'$CBstatuses[$i]',"; + $cVARMINstatuses = "$cVARMINstatuses'$MINsec[$i]',"; + $cVARMAXstatuses = "$cVARMAXstatuses'$MAXsec[$i]',"; if ($CBstatuses[$i] == 'Y') - {$VARCBstatusesLIST .= " $statuses[$i]";} + {$cVARCBstatusesLIST .= " $statuses[$i]";} if ($SELstatuses[$i] == 'Y') - {$VARSELstatuses_ct++;} + {$cVARSELstatuses_ct++;} $i++; $j++; } - $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); + # $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); $VARstatuses = substr("$VARstatuses", 0, -1); $VARstatusnames = substr("$VARstatusnames", 0, -1); $VARSELstatuses = substr("$VARSELstatuses", 0, -1); $VARCBstatuses = substr("$VARCBstatuses", 0, -1); + $VARMINstatuses = substr("$VARMINstatuses", 0, -1); + $VARMAXstatuses = substr("$VARMAXstatuses", 0, -1); $VARCBstatusesLIST .= " "; + $cVARstatuses = substr("$cVARstatuses", 0, -1); + $cVARstatusnames = substr("$cVARstatusnames", 0, -1); + $cVARSELstatuses = substr("$cVARSELstatuses", 0, -1); + $cVARCBstatuses = substr("$cVARCBstatuses", 0, -1); + $cVARMINstatuses = substr("$cVARMINstatuses", 0, -1); + $cVARMAXstatuses = substr("$cVARMAXstatuses", 0, -1); + $cVARCBstatusesLIST .= " "; ##### grab the campaign-specific HotKey statuses that can be used for dispositioning by an agent $stmt="SELECT hotkey,status,status_name FROM vicidial_campaign_hotkeys WHERE selectable='Y' and status != 'NEW' and campaign_id='$VD_campaign' order by hotkey limit 9;"; @@ -3699,13 +3727,43 @@ $CCAL_OUT .= ""; VARpreset_dtmfs = new Array(); VARpreset_hide_numbers = new Array(); var VD_preset_names_ct = ''; - VARstatuses = new Array(); - VARstatusnames = new Array(); - VARSELstatuses = new Array(); - VARCBstatuses = new Array(); - var VARCBstatusesLIST = ''; - var VD_statuses_ct = ''; - var VARSELstatuses_ct = ''; + var status_group_statuses_data = ''; + VARstatuses = new Array(); + VARstatusnames = new Array(); + VARSELstatuses = new Array(); + VARCBstatuses = new Array(); + VARMINstatuses = new Array(); + VARMAXstatuses = new Array(); + var VARCBstatusesLIST = ''; + var VD_statuses_ct = 0; + var VARSELstatuses_ct = 0; + gVARstatuses = new Array(); + gVARstatusnames = new Array(); + gVARSELstatuses = new Array(); + gVARCBstatuses = new Array(); + gVARMINstatuses = new Array(); + gVARMAXstatuses = new Array(); + var gVARCBstatusesLIST = ''; + var gVD_statuses_ct = 0; + var gVARSELstatuses_ct = 0; + sVARstatuses = new Array(); + sVARstatusnames = new Array(); + sVARSELstatuses = new Array(); + sVARCBstatuses = new Array(); + sVARMINstatuses = new Array(); + sVARMAXstatuses = new Array(); + var sVARCBstatusesLIST = ''; + var sVD_statuses_ct = ''; + var sVARSELstatuses_ct = ''; + cVARstatuses = new Array(); + cVARstatusnames = new Array(); + cVARSELstatuses = new Array(); + cVARCBstatuses = new Array(); + cVARMINstatuses = new Array(); + cVARMAXstatuses = new Array(); + var cVARCBstatusesLIST = ''; + var cVD_statuses_ct = ''; + var cVARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; @@ -4244,6 +4302,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var updatedispo_resume_trigger='0'; var button_click_log='-----LOGIN---|'; var agent_display_fields=''; + var customer_sec='0'; var DiaLControl_auto_HTML = "\" border=\"0\" alt=\"You are paused\" />"; var DiaLControl_auto_HTML_ready = "\" border=\"0\" alt=\"You are active\" />"; var DiaLControl_auto_HTML_OFF = "\" border=\"0\" alt=\"pause button disabled\" />"; @@ -5455,6 +5514,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { document.images['livecall'].src = image_livecall_DEAD.src;} CheckDEADcallON=1; CheckDEADcallCOUNT++; + customer_sec = VD_live_call_secondS; if ( (xfer_in_call > 0) && (customer_3way_hangup_logging=='ENABLED') ) { @@ -7065,6 +7125,114 @@ function set_length(SLnumber,SLlength_goal,SLdirection) did_custom_three = change_array[62]; did_custom_four = change_array[63]; did_custom_five = change_array[64]; + status_group_statuses_data = change_array[65]; + + // build statuses list for disposition screen + VARstatuses = []; + VARstatusnames = []; + VARSELstatuses = []; + VARCBstatuses = []; + VARMINstatuses = []; + VARMAXstatuses = []; + VARCBstatusesLIST = ''; + VD_statuses_ct = 0; + VARSELstatuses_ct = 0; + gVARstatuses = []; + gVARstatusnames = []; + gVARSELstatuses = []; + gVARCBstatuses = []; + gVARMINstatuses = []; + gVARMAXstatuses = []; + gVARCBstatusesLIST = ''; + gVD_statuses_ct = 0; + gVARSELstatuses_ct = 0; + + if (status_group_statuses_data.length > 7) + { + var gVARstatusesRAW=status_group_statuses_data.split(','); + var gVARstatusesRAWct = gVARstatusesRAW.length; + var loop_gct=0; + while (loop_gct < gVARstatusesRAWct) + { + var gVARstatusesRAWtemp = gVARstatusesRAW[loop_gct]; + var gVARstatusesDETAILS = gVARstatusesRAWtemp.split('|'); + gVARstatuses[loop_gct] = gVARstatusesDETAILS[0]; + gVARstatusnames[loop_gct] = gVARstatusesDETAILS[1]; + gVARSELstatuses[loop_gct] = 'Y'; + gVARCBstatuses[loop_gct] = gVARstatusesDETAILS[2]; + gVARMINstatuses[loop_gct] = gVARstatusesDETAILS[3]; + gVARMAXstatuses[loop_gct] = gVARstatusesDETAILS[4]; + if (gVARCBstatuses[loop_gct] == 'Y') + {gVARCBstatusesLIST = gVARCBstatusesLIST + " " + gVARstatusesDETAILS[0];} + gVD_statuses_ct++; + gVARSELstatuses_ct++; + + loop_gct++; + } + } + else + { + gVARstatuses = cVARstatuses; + gVARstatusnames = cVARstatusnames; + gVARSELstatuses = cVARSELstatuses; + gVARCBstatuses = cVARCBstatuses; + gVARMINstatuses = cVARMINstatuses; + gVARMAXstatuses = cVARMAXstatuses; + gVARCBstatusesLIST = cVARCBstatusesLIST; + gVD_statuses_ct = cVD_statuses_ct; + gVARSELstatuses_ct = cVARSELstatuses_ct; + } + + VARstatuses = sVARstatuses.concat(gVARstatuses); + VARstatusnames = sVARstatusnames.concat(gVARstatusnames); + VARSELstatuses = sVARSELstatuses.concat(gVARSELstatuses); + VARCBstatuses = sVARCBstatuses.concat(gVARCBstatuses); + VARMINstatuses = sVARMINstatuses.concat(gVARMINstatuses); + VARMAXstatuses = sVARMAXstatuses.concat(gVARMAXstatuses); + VARCBstatusesLIST = sVARCBstatusesLIST + '' + gVARCBstatusesLIST; + VD_statuses_ct = (Number(sVD_statuses_ct) + Number(gVD_statuses_ct)); + VARSELstatuses_ct = (Number(sVARSELstatuses_ct) + Number(gVARSELstatuses_ct)); + + var HKdebug=''; + var HKboxAtemp=''; + var HKboxBtemp=''; + var HKboxCtemp=''; + if (HK_statuses_camp > 0) + { + hotkeys = []; + var temp_HK_valid_ct=0; + while (HK_statuses_camp > temp_HK_valid_ct) + { + var temp_VARstatuses_ct=0; + while (VD_statuses_ct > temp_VARstatuses_ct) + { + if (HKstatuses[temp_HK_valid_ct] == VARstatuses[temp_VARstatuses_ct]) + { + hotkeys[HKhotkeys[temp_HK_valid_ct]] = HKstatuses[temp_HK_valid_ct] + " ----- " + HKstatusnames[temp_HK_valid_ct]; + + if ( (HKhotkeys[temp_HK_valid_ct] >= 1) && (HKhotkeys[temp_HK_valid_ct] <= 3) ) + { + HKboxAtemp = HKboxAtemp + "" + HKhotkeys[temp_HK_valid_ct] + " - " + HKstatuses[temp_HK_valid_ct] + " - " + HKstatusnames[temp_HK_valid_ct] + "
"; + } + if ( (HKhotkeys[temp_HK_valid_ct] >= 4) && (HKhotkeys[temp_HK_valid_ct] <= 6) ) + { + HKboxBtemp = HKboxBtemp + "" + HKhotkeys[temp_HK_valid_ct] + " - " + HKstatuses[temp_HK_valid_ct] + " - " + HKstatusnames[temp_HK_valid_ct] + "
"; + } + if ( (HKhotkeys[temp_HK_valid_ct] >= 7) && (HKhotkeys[temp_HK_valid_ct] <= 9) ) + { + HKboxCtemp = HKboxCtemp + "" + HKhotkeys[temp_HK_valid_ct] + " - " + HKstatuses[temp_HK_valid_ct] + " - " + HKstatusnames[temp_HK_valid_ct] + "
"; + } + + HKdebug = HKdebug + '' + HKhotkeys[temp_HK_valid_ct] + ' ' + HKstatuses[temp_HK_valid_ct] + ' ' + HKstatusnames[temp_HK_valid_ct] + '| '; + } + temp_VARstatuses_ct++; + } + temp_HK_valid_ct++; + } + document.getElementById("HotKeyBoxA").innerHTML = HKboxAtemp; + document.getElementById("HotKeyBoxB").innerHTML = HKboxBtemp; + document.getElementById("HotKeyBoxC").innerHTML = HKboxCtemp; + } if (agent_display_fields.match(adfREGentry_date)) {document.getElementById("entry_dateDISP").innerHTML = entry_date;} @@ -7614,6 +7782,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) VD_live_customer_call = 1; VD_live_call_secondS = 0; + customer_sec=0; MD_channel_look=0; var dispnum = lead_dial_number; @@ -8261,6 +8430,116 @@ function set_length(SLnumber,SLlength_goal,SLdirection) CalL_ScripT_color = MDnextResponse_array[55]; document.vicidial_form.list_description.value = MDnextResponse_array[56]; entry_date = MDnextResponse_array[57]; + status_group_statuses_data = MDnextResponse_array[58]; + + // build statuses list for disposition screen + VARstatuses = []; + VARstatusnames = []; + VARSELstatuses = []; + VARCBstatuses = []; + VARMINstatuses = []; + VARMAXstatuses = []; + VARCBstatusesLIST = ''; + VD_statuses_ct = 0; + VARSELstatuses_ct = 0; + gVARstatuses = []; + gVARstatusnames = []; + gVARSELstatuses = []; + gVARCBstatuses = []; + gVARMINstatuses = []; + gVARMAXstatuses = []; + gVARCBstatusesLIST = ''; + gVD_statuses_ct = 0; + gVARSELstatuses_ct = 0; + + if (status_group_statuses_data.length > 7) + { + var gVARstatusesRAW=status_group_statuses_data.split(','); + var gVARstatusesRAWct = gVARstatusesRAW.length; + var loop_gct=0; + while (loop_gct < gVARstatusesRAWct) + { + var gVARstatusesRAWtemp = gVARstatusesRAW[loop_gct]; + var gVARstatusesDETAILS = gVARstatusesRAWtemp.split('|'); + gVARstatuses[loop_gct] = gVARstatusesDETAILS[0]; + gVARstatusnames[loop_gct] = gVARstatusesDETAILS[1]; + gVARSELstatuses[loop_gct] = 'Y'; + gVARCBstatuses[loop_gct] = gVARstatusesDETAILS[2]; + gVARMINstatuses[loop_gct] = gVARstatusesDETAILS[3]; + gVARMAXstatuses[loop_gct] = gVARstatusesDETAILS[4]; + if (gVARCBstatuses[loop_gct] == 'Y') + {gVARCBstatusesLIST = gVARCBstatusesLIST + " " + gVARstatusesDETAILS[0];} + gVD_statuses_ct++; + gVARSELstatuses_ct++; + + loop_gct++; + } + } + else + { + gVARstatuses = cVARstatuses; + gVARstatusnames = cVARstatusnames; + gVARSELstatuses = cVARSELstatuses; + gVARCBstatuses = cVARCBstatuses; + gVARMINstatuses = cVARMINstatuses; + gVARMAXstatuses = cVARMAXstatuses; + gVARCBstatusesLIST = cVARCBstatusesLIST; + gVD_statuses_ct = cVD_statuses_ct; + gVARSELstatuses_ct = cVARSELstatuses_ct; + } + + VARstatuses = sVARstatuses.concat(gVARstatuses); + VARstatusnames = sVARstatusnames.concat(gVARstatusnames); + VARSELstatuses = sVARSELstatuses.concat(gVARSELstatuses); + VARCBstatuses = sVARCBstatuses.concat(gVARCBstatuses); + VARMINstatuses = sVARMINstatuses.concat(gVARMINstatuses); + VARMAXstatuses = sVARMAXstatuses.concat(gVARMAXstatuses); + VARCBstatusesLIST = sVARCBstatusesLIST + '' + gVARCBstatusesLIST; + VD_statuses_ct = (Number(sVD_statuses_ct) + Number(gVD_statuses_ct)); + VARSELstatuses_ct = (Number(sVARSELstatuses_ct) + Number(gVARSELstatuses_ct)); + + var HKdebug=''; + var HKboxAtemp=''; + var HKboxBtemp=''; + var HKboxCtemp=''; + if (HK_statuses_camp > 0) + { + hotkeys = []; + var temp_HK_valid_ct=0; + while (HK_statuses_camp > temp_HK_valid_ct) + { + var temp_VARstatuses_ct=0; + while (VD_statuses_ct > temp_VARstatuses_ct) + { + if (HKstatuses[temp_HK_valid_ct] == VARstatuses[temp_VARstatuses_ct]) + { + hotkeys[HKhotkeys[temp_HK_valid_ct]] = HKstatuses[temp_HK_valid_ct] + " ----- " + HKstatusnames[temp_HK_valid_ct]; + + if ( (HKhotkeys[temp_HK_valid_ct] >= 1) && (HKhotkeys[temp_HK_valid_ct] <= 3) ) + { + HKboxAtemp = HKboxAtemp + "" + HKhotkeys[temp_HK_valid_ct] + " - " + HKstatuses[temp_HK_valid_ct] + " - " + HKstatusnames[temp_HK_valid_ct] + "
"; + } + if ( (HKhotkeys[temp_HK_valid_ct] >= 4) && (HKhotkeys[temp_HK_valid_ct] <= 6) ) + { + HKboxBtemp = HKboxBtemp + "" + HKhotkeys[temp_HK_valid_ct] + " - " + HKstatuses[temp_HK_valid_ct] + " - " + HKstatusnames[temp_HK_valid_ct] + "
"; + } + if ( (HKhotkeys[temp_HK_valid_ct] >= 7) && (HKhotkeys[temp_HK_valid_ct] <= 9) ) + { + HKboxCtemp = HKboxCtemp + "" + HKhotkeys[temp_HK_valid_ct] + " - " + HKstatuses[temp_HK_valid_ct] + " - " + HKstatusnames[temp_HK_valid_ct] + "
"; + } + + HKdebug = HKdebug + '' + HKhotkeys[temp_HK_valid_ct] + ' ' + HKstatuses[temp_HK_valid_ct] + ' ' + HKstatusnames[temp_HK_valid_ct] + '| '; + } + temp_VARstatuses_ct++; + } + temp_HK_valid_ct++; + } + document.getElementById("HotKeyBoxA").innerHTML = HKboxAtemp; + document.getElementById("HotKeyBoxB").innerHTML = HKboxBtemp; + document.getElementById("HotKeyBoxC").innerHTML = HKboxCtemp; + + // document.getElementById("debugbottomspan").innerHTML = "DEBUG: UnixTime " + HKdebug; + } if (agent_display_fields.match(adfREGentry_date)) {document.getElementById("entry_dateDISP").innerHTML = entry_date;} @@ -8596,6 +8875,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) previous_called_count = ''; previous_dispo = ''; custchannellive=1; + customer_sec=0; xfer_agent_selected=0; source_id=''; entry_date=''; @@ -9300,6 +9580,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) VD_live_customer_call = 1; VD_live_call_secondS = 0; + customer_sec = 0; // INSERT VICIDIAL_LOG ENTRY FOR THIS CALL PROCESS // DialLog("start"); @@ -9392,6 +9673,114 @@ function set_length(SLnumber,SLlength_goal,SLdirection) did_custom_three = check_VDIC_array[62]; did_custom_four = check_VDIC_array[63]; did_custom_five = check_VDIC_array[64]; + status_group_statuses_data = check_VDIC_array[65]; + + // build statuses list for disposition screen + VARstatuses = []; + VARstatusnames = []; + VARSELstatuses = []; + VARCBstatuses = []; + VARMINstatuses = []; + VARMAXstatuses = []; + VARCBstatusesLIST = ''; + VD_statuses_ct = 0; + VARSELstatuses_ct = 0; + gVARstatuses = []; + gVARstatusnames = []; + gVARSELstatuses = []; + gVARCBstatuses = []; + gVARMINstatuses = []; + gVARMAXstatuses = []; + gVARCBstatusesLIST = ''; + gVD_statuses_ct = 0; + gVARSELstatuses_ct = 0; + + if (status_group_statuses_data.length > 7) + { + var gVARstatusesRAW=status_group_statuses_data.split(','); + var gVARstatusesRAWct = gVARstatusesRAW.length; + var loop_gct=0; + while (loop_gct < gVARstatusesRAWct) + { + var gVARstatusesRAWtemp = gVARstatusesRAW[loop_gct]; + var gVARstatusesDETAILS = gVARstatusesRAWtemp.split('|'); + gVARstatuses[loop_gct] = gVARstatusesDETAILS[0]; + gVARstatusnames[loop_gct] = gVARstatusesDETAILS[1]; + gVARSELstatuses[loop_gct] = 'Y'; + gVARCBstatuses[loop_gct] = gVARstatusesDETAILS[2]; + gVARMINstatuses[loop_gct] = gVARstatusesDETAILS[3]; + gVARMAXstatuses[loop_gct] = gVARstatusesDETAILS[4]; + if (gVARCBstatuses[loop_gct] == 'Y') + {gVARCBstatusesLIST = gVARCBstatusesLIST + " " + gVARstatusesDETAILS[0];} + gVD_statuses_ct++; + gVARSELstatuses_ct++; + + loop_gct++; + } + } + else + { + gVARstatuses = cVARstatuses; + gVARstatusnames = cVARstatusnames; + gVARSELstatuses = cVARSELstatuses; + gVARCBstatuses = cVARCBstatuses; + gVARMINstatuses = cVARMINstatuses; + gVARMAXstatuses = cVARMAXstatuses; + gVARCBstatusesLIST = cVARCBstatusesLIST; + gVD_statuses_ct = cVD_statuses_ct; + gVARSELstatuses_ct = cVARSELstatuses_ct; + } + + VARstatuses = sVARstatuses.concat(gVARstatuses); + VARstatusnames = sVARstatusnames.concat(gVARstatusnames); + VARSELstatuses = sVARSELstatuses.concat(gVARSELstatuses); + VARCBstatuses = sVARCBstatuses.concat(gVARCBstatuses); + VARMINstatuses = sVARMINstatuses.concat(gVARMINstatuses); + VARMAXstatuses = sVARMAXstatuses.concat(gVARMAXstatuses); + VARCBstatusesLIST = sVARCBstatusesLIST + '' + gVARCBstatusesLIST; + VD_statuses_ct = (Number(sVD_statuses_ct) + Number(gVD_statuses_ct)); + VARSELstatuses_ct = (Number(sVARSELstatuses_ct) + Number(gVARSELstatuses_ct)); + + var HKdebug=''; + var HKboxAtemp=''; + var HKboxBtemp=''; + var HKboxCtemp=''; + if (HK_statuses_camp > 0) + { + hotkeys = []; + var temp_HK_valid_ct=0; + while (HK_statuses_camp > temp_HK_valid_ct) + { + var temp_VARstatuses_ct=0; + while (VD_statuses_ct > temp_VARstatuses_ct) + { + if (HKstatuses[temp_HK_valid_ct] == VARstatuses[temp_VARstatuses_ct]) + { + hotkeys[HKhotkeys[temp_HK_valid_ct]] = HKstatuses[temp_HK_valid_ct] + " ----- " + HKstatusnames[temp_HK_valid_ct]; + + if ( (HKhotkeys[temp_HK_valid_ct] >= 1) && (HKhotkeys[temp_HK_valid_ct] <= 3) ) + { + HKboxAtemp = HKboxAtemp + "" + HKhotkeys[temp_HK_valid_ct] + " - " + HKstatuses[temp_HK_valid_ct] + " - " + HKstatusnames[temp_HK_valid_ct] + "
"; + } + if ( (HKhotkeys[temp_HK_valid_ct] >= 4) && (HKhotkeys[temp_HK_valid_ct] <= 6) ) + { + HKboxBtemp = HKboxBtemp + "" + HKhotkeys[temp_HK_valid_ct] + " - " + HKstatuses[temp_HK_valid_ct] + " - " + HKstatusnames[temp_HK_valid_ct] + "
"; + } + if ( (HKhotkeys[temp_HK_valid_ct] >= 7) && (HKhotkeys[temp_HK_valid_ct] <= 9) ) + { + HKboxCtemp = HKboxCtemp + "" + HKhotkeys[temp_HK_valid_ct] + " - " + HKstatuses[temp_HK_valid_ct] + " - " + HKstatusnames[temp_HK_valid_ct] + "
"; + } + + HKdebug = HKdebug + '' + HKhotkeys[temp_HK_valid_ct] + ' ' + HKstatuses[temp_HK_valid_ct] + ' ' + HKstatusnames[temp_HK_valid_ct] + '| '; + } + temp_VARstatuses_ct++; + } + temp_HK_valid_ct++; + } + document.getElementById("HotKeyBoxA").innerHTML = HKboxAtemp; + document.getElementById("HotKeyBoxB").innerHTML = HKboxBtemp; + document.getElementById("HotKeyBoxC").innerHTML = HKboxCtemp; + } if (agent_display_fields.match(adfREGentry_date)) {document.getElementById("entry_dateDISP").innerHTML = entry_date;} @@ -9911,6 +10300,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) VD_live_customer_call = 1; VD_live_call_secondS = 0; + customer_sec = 0; CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call @@ -9985,6 +10375,114 @@ function set_length(SLnumber,SLlength_goal,SLdirection) did_custom_three = check_VDIC_array[58]; did_custom_four = check_VDIC_array[59]; did_custom_five = check_VDIC_array[60]; + status_group_statuses_data = check_VDIC_array[61]; + + // build statuses list for disposition screen + VARstatuses = []; + VARstatusnames = []; + VARSELstatuses = []; + VARCBstatuses = []; + VARMINstatuses = []; + VARMAXstatuses = []; + VARCBstatusesLIST = ''; + VD_statuses_ct = 0; + VARSELstatuses_ct = 0; + gVARstatuses = []; + gVARstatusnames = []; + gVARSELstatuses = []; + gVARCBstatuses = []; + gVARMINstatuses = []; + gVARMAXstatuses = []; + gVARCBstatusesLIST = ''; + gVD_statuses_ct = 0; + gVARSELstatuses_ct = 0; + + if (status_group_statuses_data.length > 7) + { + var gVARstatusesRAW=status_group_statuses_data.split(','); + var gVARstatusesRAWct = gVARstatusesRAW.length; + var loop_gct=0; + while (loop_gct < gVARstatusesRAWct) + { + var gVARstatusesRAWtemp = gVARstatusesRAW[loop_gct]; + var gVARstatusesDETAILS = gVARstatusesRAWtemp.split('|'); + gVARstatuses[loop_gct] = gVARstatusesDETAILS[0]; + gVARstatusnames[loop_gct] = gVARstatusesDETAILS[1]; + gVARSELstatuses[loop_gct] = 'Y'; + gVARCBstatuses[loop_gct] = gVARstatusesDETAILS[2]; + gVARMINstatuses[loop_gct] = gVARstatusesDETAILS[3]; + gVARMAXstatuses[loop_gct] = gVARstatusesDETAILS[4]; + if (gVARCBstatuses[loop_gct] == 'Y') + {gVARCBstatusesLIST = gVARCBstatusesLIST + " " + gVARstatusesDETAILS[0];} + gVD_statuses_ct++; + gVARSELstatuses_ct++; + + loop_gct++; + } + } + else + { + gVARstatuses = cVARstatuses; + gVARstatusnames = cVARstatusnames; + gVARSELstatuses = cVARSELstatuses; + gVARCBstatuses = cVARCBstatuses; + gVARMINstatuses = cVARMINstatuses; + gVARMAXstatuses = cVARMAXstatuses; + gVARCBstatusesLIST = cVARCBstatusesLIST; + gVD_statuses_ct = cVD_statuses_ct; + gVARSELstatuses_ct = cVARSELstatuses_ct; + } + + VARstatuses = sVARstatuses.concat(gVARstatuses); + VARstatusnames = sVARstatusnames.concat(gVARstatusnames); + VARSELstatuses = sVARSELstatuses.concat(gVARSELstatuses); + VARCBstatuses = sVARCBstatuses.concat(gVARCBstatuses); + VARMINstatuses = sVARMINstatuses.concat(gVARMINstatuses); + VARMAXstatuses = sVARMAXstatuses.concat(gVARMAXstatuses); + VARCBstatusesLIST = sVARCBstatusesLIST + '' + gVARCBstatusesLIST; + VD_statuses_ct = (Number(sVD_statuses_ct) + Number(gVD_statuses_ct)); + VARSELstatuses_ct = (Number(sVARSELstatuses_ct) + Number(gVARSELstatuses_ct)); + + var HKdebug=''; + var HKboxAtemp=''; + var HKboxBtemp=''; + var HKboxCtemp=''; + if (HK_statuses_camp > 0) + { + hotkeys = []; + var temp_HK_valid_ct=0; + while (HK_statuses_camp > temp_HK_valid_ct) + { + var temp_VARstatuses_ct=0; + while (VD_statuses_ct > temp_VARstatuses_ct) + { + if (HKstatuses[temp_HK_valid_ct] == VARstatuses[temp_VARstatuses_ct]) + { + hotkeys[HKhotkeys[temp_HK_valid_ct]] = HKstatuses[temp_HK_valid_ct] + " ----- " + HKstatusnames[temp_HK_valid_ct]; + + if ( (HKhotkeys[temp_HK_valid_ct] >= 1) && (HKhotkeys[temp_HK_valid_ct] <= 3) ) + { + HKboxAtemp = HKboxAtemp + "" + HKhotkeys[temp_HK_valid_ct] + " - " + HKstatuses[temp_HK_valid_ct] + " - " + HKstatusnames[temp_HK_valid_ct] + "
"; + } + if ( (HKhotkeys[temp_HK_valid_ct] >= 4) && (HKhotkeys[temp_HK_valid_ct] <= 6) ) + { + HKboxBtemp = HKboxBtemp + "" + HKhotkeys[temp_HK_valid_ct] + " - " + HKstatuses[temp_HK_valid_ct] + " - " + HKstatusnames[temp_HK_valid_ct] + "
"; + } + if ( (HKhotkeys[temp_HK_valid_ct] >= 7) && (HKhotkeys[temp_HK_valid_ct] <= 9) ) + { + HKboxCtemp = HKboxCtemp + "" + HKhotkeys[temp_HK_valid_ct] + " - " + HKstatuses[temp_HK_valid_ct] + " - " + HKstatusnames[temp_HK_valid_ct] + "
"; + } + + HKdebug = HKdebug + '' + HKhotkeys[temp_HK_valid_ct] + ' ' + HKstatuses[temp_HK_valid_ct] + ' ' + HKstatusnames[temp_HK_valid_ct] + '| '; + } + temp_VARstatuses_ct++; + } + temp_HK_valid_ct++; + } + document.getElementById("HotKeyBoxA").innerHTML = HKboxAtemp; + document.getElementById("HotKeyBoxB").innerHTML = HKboxBtemp; + document.getElementById("HotKeyBoxC").innerHTML = HKboxCtemp; + } if (agent_display_fields.match(adfREGentry_date)) {document.getElementById("entry_dateDISP").innerHTML = entry_date;} @@ -10563,6 +11061,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) AgainCalLSecondS = VD_live_call_secondS; AgaiNCalLCID = CalLCID; dial_next_failed=0; + if (customer_sec < 1) + {customer_sec = VD_live_call_secondS;} var process_post_hangup=0; if ( (RedirecTxFEr < 1) && ( (MD_channel_look==1) || (auto_dial_level == 0) ) ) { @@ -11094,6 +11594,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) HidEGenDerPulldown(); AgentDispoing = 1; var CBflag = ''; + var MINMAXbegin=''; + var MINMAXend=''; var VD_statuses_ct_half = parseInt(VARSELstatuses_ct / 2); var dispo_HTML = "
"; var loop_ct = 0; @@ -11104,17 +11606,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (VARSELstatuses[loop_ct] == 'Y') { + CBflag = ''; if (VARCBstatuses[loop_ct] == 'Y') {CBflag = '*';} - else - {CBflag = '';} - if (taskDSgrp == VARstatuses[loop_ct]) + // check for minimum and maximum customer talk seconds to see if status is non-selectable + if ( ( (VARMINstatuses[loop_ct] > 0) && (customer_sec < VARMINstatuses[loop_ct]) ) || ( (VARMAXstatuses[loop_ct] > 0) && (customer_sec > VARMAXstatuses[loop_ct]) ) ) { - dispo_HTML = dispo_HTML + "" + VARstatuses[loop_ct] + " - " + VARstatusnames[loop_ct] + " " + CBflag + "

"; + dispo_HTML = dispo_HTML + '' + VARstatuses[loop_ct] + " - " + VARstatusnames[loop_ct] + " " + CBflag + "

"; } else { - dispo_HTML = dispo_HTML + "" + VARstatuses[loop_ct] + " - " + VARstatusnames[loop_ct] + " " + CBflag + "

"; + if (taskDSgrp == VARstatuses[loop_ct]) + { + dispo_HTML = dispo_HTML + "" + VARstatuses[loop_ct] + " - " + VARstatusnames[loop_ct] + " " + CBflag + "

"; + } + else + { + dispo_HTML = dispo_HTML + "" + VARstatuses[loop_ct] + " - " + VARstatusnames[loop_ct] + " " + CBflag + "

"; + } } if (print_ct == VD_statuses_ct_half) {dispo_HTML = dispo_HTML + "
";} @@ -11476,6 +11985,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) blind_transfer=0; CheckDEADcallON=0; CheckDEADcallCOUNT=0; + customer_sec=0; currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; @@ -12864,64 +13374,85 @@ if ($useIE > 0) } else { - // transfer call to answering maching message with hotkey - if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) + var HKXdebug=''; + var HKerror=0; + var temp_VARstatuses_ct=0; + while (VD_statuses_ct > temp_VARstatuses_ct) { - mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + if (HKdispo_ary[0] == VARstatuses[temp_VARstatuses_ct]) + { + if ( ( (CheckDEADcallON > 0) && ( ( (VARMINstatuses[temp_VARstatuses_ct] > 0) && (customer_sec < VARMINstatuses[temp_VARstatuses_ct]) ) || ( (VARMAXstatuses[temp_VARstatuses_ct] > 0) && (customer_sec > VARMAXstatuses[temp_VARstatuses_ct]) ) ) ) || ( (CheckDEADcallON < 1) && ( ( (VARMINstatuses[temp_VARstatuses_ct] > 0) && (VD_live_call_secondS < VARMINstatuses[temp_VARstatuses_ct]) ) || ( (VARMAXstatuses[temp_VARstatuses_ct] > 0) && (VD_live_call_secondS > VARMAXstatuses[temp_VARstatuses_ct]) ) ) ) ) + { + HKerror=1; + alert_box("" + HKdispo_ary[0] + ' ' + VD_live_call_secondS + '(' + customer_sec + ')'); + } + // HKXdebug = HKXdebug + 'ERROR: ' + HKdispo_ary[0] + ' ' + VARstatuses[temp_VARstatuses_ct] + ' ' + VARMINstatuses[temp_VARstatuses_ct] + '| ' + VARMAXstatuses[temp_VARstatuses_ct] + '| ' + CheckDEADcallON + '| ' + VD_live_call_secondS + '| '; + + // document.getElementById("debugbottomspan").innerHTML = HKXdebug; + } + temp_VARstatuses_ct++; } - else + if (HKerror < 1) { - HKdispo_display = 3; - // Check for hotkeys enabled wrapup message - if ( (wrapup_after_hotkey == 'ENABLED') && (wrapup_seconds > 0) ) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - HKdispo_display = wrapup_seconds; - if (HKdispo_display < 3) - {HKdispo_display = 3;} - - document.getElementById("HotKeyActionBox").style.top = '1px'; - document.getElementById("HotKeyActionBox").style.left = '1px'; - document.getElementById("HKWrapupTimer").innerHTML = "
" + HKdispo_display + " "; - if (wrapup_message.match(regWFS)) - { - // document.getElementById("FSCREENWrapupMessage").innerHTML = document.getElementById("WrapupMessage").innerHTML; - } - else - { - document.getElementById("HKWrapupMessage").innerHTML = "

" + document.getElementById("WrapupMessage").innerHTML + "
 
"; - } - - if (wrapup_bypass == 'ENABLED') - { - document.getElementById("HKWrapupBypass").innerHTML = "         "; - } - else - {document.getElementById("HKWrapupBypass").innerHTML = '';} + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); } else { - document.getElementById("HotKeyActionBox").style.top = HTheight; - document.getElementById("HotKeyActionBox").style.left = '5px'; - document.getElementById("HKWrapupTimer").innerHTML = ''; - document.getElementById("HKWrapupMessage").innerHTML = ''; - document.getElementById("HKWrapupBypass").innerHTML = ''; - } - HKdispo_submit = HKdispo_display; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - if ( ( (wrapup_after_hotkey == 'ENABLED') && (wrapup_seconds > 0) ) && (wrapup_message.match(regWFS)) ) - {showDiv('FSCREENWrapupBox'); HKFSCREENup=1;} - else - {showDiv('HotKeyActionBox');} - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) - { - vcFormIFrame.document.form_custom_fields.submit(); + HKdispo_display = 3; + // Check for hotkeys enabled wrapup message + if ( (wrapup_after_hotkey == 'ENABLED') && (wrapup_seconds > 0) ) + { + HKdispo_display = wrapup_seconds; + if (HKdispo_display < 3) + {HKdispo_display = 3;} + + document.getElementById("HotKeyActionBox").style.top = '1px'; + document.getElementById("HotKeyActionBox").style.left = '1px'; + document.getElementById("HKWrapupTimer").innerHTML = "
" + HKdispo_display + " "; + if (wrapup_message.match(regWFS)) + { + // document.getElementById("FSCREENWrapupMessage").innerHTML = document.getElementById("WrapupMessage").innerHTML; + } + else + { + document.getElementById("HKWrapupMessage").innerHTML = "

" + document.getElementById("WrapupMessage").innerHTML + "
 
"; + } + + if (wrapup_bypass == 'ENABLED') + { + document.getElementById("HKWrapupBypass").innerHTML = "         "; + } + else + {document.getElementById("HKWrapupBypass").innerHTML = '';} + } + else + { + document.getElementById("HotKeyActionBox").style.top = HTheight; + document.getElementById("HotKeyActionBox").style.left = '5px'; + document.getElementById("HKWrapupTimer").innerHTML = ''; + document.getElementById("HKWrapupMessage").innerHTML = ''; + document.getElementById("HKWrapupBypass").innerHTML = ''; + } + HKdispo_submit = HKdispo_display; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + if ( ( (wrapup_after_hotkey == 'ENABLED') && (wrapup_seconds > 0) ) && (wrapup_message.match(regWFS)) ) + {showDiv('FSCREENWrapupBox'); HKFSCREENup=1;} + else + {showDiv('HotKeyActionBox');} + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -12967,71 +13498,93 @@ else } else { - // transfer call to answering maching message with hotkey - if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) + var HKXdebug=''; + var HKerror=0; + var temp_VARstatuses_ct=0; + while (VD_statuses_ct > temp_VARstatuses_ct) { - mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); - } - else - { - HKdispo_display = 3; - // Check for hotkeys enabled wrapup message - if ( (wrapup_after_hotkey == 'ENABLED') && (wrapup_seconds > 0) ) + if (HKdispo_ary[0] == VARstatuses[temp_VARstatuses_ct]) { - HKdispo_display = wrapup_seconds; - if (HKdispo_display < 3) - {HKdispo_display = 3;} + if ( ( (CheckDEADcallON > 0) && ( ( (VARMINstatuses[temp_VARstatuses_ct] > 0) && (customer_sec < VARMINstatuses[temp_VARstatuses_ct]) ) || ( (VARMAXstatuses[temp_VARstatuses_ct] > 0) && (customer_sec > VARMAXstatuses[temp_VARstatuses_ct]) ) ) ) || ( (CheckDEADcallON < 1) && ( ( (VARMINstatuses[temp_VARstatuses_ct] > 0) && (VD_live_call_secondS < VARMINstatuses[temp_VARstatuses_ct]) ) || ( (VARMAXstatuses[temp_VARstatuses_ct] > 0) && (VD_live_call_secondS > VARMAXstatuses[temp_VARstatuses_ct]) ) ) ) ) + { + HKerror=1; - document.getElementById("HotKeyActionBox").style.top = '1px'; - document.getElementById("HotKeyActionBox").style.left = '1px'; - document.getElementById("HKWrapupTimer").innerHTML = "
" + HKdispo_display + " "; - if (wrapup_message.match(regWFS)) - { - // document.getElementById("FSCREENWrapupMessage").innerHTML = document.getElementById("WrapupMessage").innerHTML; - } - else - { - document.getElementById("HKWrapupMessage").innerHTML = "

" + document.getElementById("WrapupMessage").innerHTML + "
 
"; + alert_box("" + HKdispo_ary[0] + ' ' + VD_live_call_secondS + '(' + customer_sec + ')'); } + // HKXdebug = HKXdebug + 'ERROR: ' + HKdispo_ary[0] + ' ' + VARstatuses[temp_VARstatuses_ct] + ' ' + VARMINstatuses[temp_VARstatuses_ct] + '| ' + VARMAXstatuses[temp_VARstatuses_ct] + '| ' + CheckDEADcallON + '| ' + VD_live_call_secondS + '| '; - if (wrapup_bypass == 'ENABLED') - { - document.getElementById("HKWrapupBypass").innerHTML = "         "; - } - else - {document.getElementById("HKWrapupBypass").innerHTML = '';} + // document.getElementById("debugbottomspan").innerHTML = HKXdebug; + } + temp_VARstatuses_ct++; + } + if (HKerror < 1) + { + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) + { + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); } else { - document.getElementById("HotKeyActionBox").style.top = HTheight; - document.getElementById("HotKeyActionBox").style.left = '5px'; - document.getElementById("HKWrapupTimer").innerHTML = ''; - document.getElementById("HKWrapupMessage").innerHTML = ''; - document.getElementById("HKWrapupBypass").innerHTML = ''; - } - HKdispo_submit = HKdispo_display; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - if ( ( (wrapup_after_hotkey == 'ENABLED') && (wrapup_seconds > 0) ) && (wrapup_message.match(regWFS)) ) - {showDiv('FSCREENWrapupBox'); HKFSCREENup=1;} - else - {showDiv('HotKeyActionBox');} - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) - { - vcFormIFrame.document.form_custom_fields.submit(); + HKdispo_display = 3; + // Check for hotkeys enabled wrapup message + if ( (wrapup_after_hotkey == 'ENABLED') && (wrapup_seconds > 0) ) + { + HKdispo_display = wrapup_seconds; + if (HKdispo_display < 3) + {HKdispo_display = 3;} + + document.getElementById("HotKeyActionBox").style.top = '1px'; + document.getElementById("HotKeyActionBox").style.left = '1px'; + document.getElementById("HKWrapupTimer").innerHTML = "
" + HKdispo_display + " "; + if (wrapup_message.match(regWFS)) + { + // document.getElementById("FSCREENWrapupMessage").innerHTML = document.getElementById("WrapupMessage").innerHTML; + } + else + { + document.getElementById("HKWrapupMessage").innerHTML = "

" + document.getElementById("WrapupMessage").innerHTML + "
 
"; + } + + if (wrapup_bypass == 'ENABLED') + { + document.getElementById("HKWrapupBypass").innerHTML = "         "; + } + else + {document.getElementById("HKWrapupBypass").innerHTML = '';} + } + else + { + document.getElementById("HotKeyActionBox").style.top = HTheight; + document.getElementById("HotKeyActionBox").style.left = '5px'; + document.getElementById("HKWrapupTimer").innerHTML = ''; + document.getElementById("HKWrapupMessage").innerHTML = ''; + document.getElementById("HKWrapupBypass").innerHTML = ''; + } + HKdispo_submit = HKdispo_display; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + if ( ( (wrapup_after_hotkey == 'ENABLED') && (wrapup_seconds > 0) ) && (wrapup_message.match(regWFS)) ) + {showDiv('FSCREENWrapupBox'); HKFSCREENup=1;} + else + {showDiv('HotKeyActionBox');} + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } + // DispoSelect_submit(); + // AutoDialWaiting = 1; + // AutoDial_ReSume_PauSe("VDADready"); + // alert(HKdispo + " - " + HKdispo_ary[0] + " - " + HKdispo_ary[1]); } - // DispoSelect_submit(); - // AutoDialWaiting = 1; - // AutoDial_ReSume_PauSe("VDADready"); - // alert(HKdispo + " - " + HKdispo_ary[0] + " - " + HKdispo_ary[1]); } } } @@ -15227,7 +15780,7 @@ function phone_number_format(formatphone) { {TerritorySelect_submit();} } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} - if ( (custchannellive < customer_gone_seconds) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) && (document.vicidial_form.lead_id.value != '') ) + if ( (custchannellive < customer_gone_seconds) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) && (document.vicidial_form.lead_id.value != '') && (currently_in_email==0) ) {CustomerChanneLGone();} // document.getElementById("debugbottomspan").innerHTML = "custchannellive: " + custchannellive + " lastcustchannel.length: " + lastcustchannel.length + " no_empty_session_warnings: " + no_empty_session_warnings + " lead_id: |" + document.vicidial_form.lead_id.value + "|"; if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} diff --git a/agc_2-X/trunk/www/vicidial/admin.php b/agc_2-X/trunk/www/vicidial/admin.php index 103f2ca6..e380bb4f 100644 --- a/agc_2-X/trunk/www/vicidial/admin.php +++ b/agc_2-X/trunk/www/vicidial/admin.php @@ -101,6 +101,7 @@ $reports_color = '#E6E6E6'; $cc_color = '#C6C6C6'; $cts_color = '#C6C6C6'; $sc_color = '#C6C6C6'; + $sg_color = '#C6C6C6'; $subcamp_color = '#C6C6C6'; ### @@ -1357,6 +1358,8 @@ if (isset($_GET["slave_db_server"])) {$slave_db_server=$_GET["slave_db_server elseif (isset($_POST["slave_db_server"])) {$slave_db_server=$_POST["slave_db_server"];} if (isset($_GET["reports_use_slave_db"])) {$reports_use_slave_db=$_GET["reports_use_slave_db"];} elseif (isset($_POST["reports_use_slave_db"])) {$reports_use_slave_db=$_POST["reports_use_slave_db"];} +if (isset($_GET["custom_reports_use_slave_db"])) {$custom_reports_use_slave_db=$_GET["custom_reports_use_slave_db"];} + elseif (isset($_POST["custom_reports_use_slave_db"])) {$custom_reports_use_slave_db=$_POST["custom_reports_use_slave_db"];} if (isset($_GET["hold_time_second_option"])) {$hold_time_second_option=$_GET["hold_time_second_option"];} elseif (isset($_POST["hold_time_second_option"])) {$hold_time_second_option=$_POST["hold_time_second_option"];} if (isset($_GET["hold_time_third_option"])) {$hold_time_third_option=$_GET["hold_time_third_option"];} @@ -1393,6 +1396,8 @@ if (isset($_GET["timer_action_destination"])) {$timer_action_destination=$_GET elseif (isset($_POST["timer_action_destination"])) {$timer_action_destination=$_POST["timer_action_destination"];} if (isset($_GET["allowed_reports"])) {$allowed_reports=$_GET["allowed_reports"];} elseif (isset($_POST["allowed_reports"])) {$allowed_reports=$_POST["allowed_reports"];} +if (isset($_GET["allowed_custom_reports"])) {$allowed_custom_reports=$_GET["allowed_custom_reports"];} + elseif (isset($_POST["allowed_custom_reports"])) {$allowed_custom_reports=$_POST["allowed_custom_reports"];} if (isset($_GET["filter_phone_group_id"])) {$filter_phone_group_id=$_GET["filter_phone_group_id"];} elseif (isset($_POST["filter_phone_group_id"])) {$filter_phone_group_id=$_POST["filter_phone_group_id"];} if (isset($_GET["filter_phone_group_name"])) {$filter_phone_group_name=$_GET["filter_phone_group_name"];} @@ -1981,6 +1986,14 @@ if (isset($_GET["user_hide_realtime"])) {$user_hide_realtime=$_GET["user_hide elseif (isset($_POST["user_hide_realtime"])) {$user_hide_realtime=$_POST["user_hide_realtime"];} if (isset($_GET["did_carrier_description"])) {$did_carrier_description=$_GET["did_carrier_description"];} elseif (isset($_POST["did_carrier_description"])) {$did_carrier_description=$_POST["did_carrier_description"];} +if (isset($_GET["status_group_id"])) {$status_group_id=$_GET["status_group_id"];} + elseif (isset($_POST["status_group_id"])) {$status_group_id=$_POST["status_group_id"];} +if (isset($_GET["status_group_notes"])) {$status_group_notes=$_GET["status_group_notes"];} + elseif (isset($_POST["status_group_notes"])) {$status_group_notes=$_POST["status_group_notes"];} +if (isset($_GET["min_sec"])) {$min_sec=$_GET["min_sec"];} + elseif (isset($_POST["min_sec"])) {$min_sec=$_POST["min_sec"];} +if (isset($_GET["max_sec"])) {$max_sec=$_GET["max_sec"];} + elseif (isset($_POST["max_sec"])) {$max_sec=$_POST["max_sec"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} @@ -2341,6 +2354,8 @@ if ($non_latin < 1) $agentcall_chat = preg_replace('/[^0-9]/','',$agentcall_chat); $user_hide_realtime_enabled = preg_replace('/[^0-9]/','',$user_hide_realtime_enabled); $user_hide_realtime = preg_replace('/[^0-9]/','',$user_hide_realtime); + $min_sec = preg_replace('/[^0-9]/','',$min_sec); + $max_sec = preg_replace('/[^0-9]/','',$max_sec); $drop_call_seconds = preg_replace('/[^-0-9]/','',$drop_call_seconds); $timer_alt_seconds = preg_replace('/[^-0-9]/','',$timer_alt_seconds); @@ -2781,6 +2796,7 @@ if ($non_latin < 1) $agent_debug_logging = preg_replace('/[^-_0-9a-zA-Z]/','',$agent_debug_logging); $container_id = preg_replace('/[^-_0-9a-zA-Z]/','',$container_id); $container_type = preg_replace('/[^-_0-9a-zA-Z]/','',$container_type); + $status_group_id = preg_replace('/[^-_0-9a-zA-Z]/','',$status_group_id); ### ALPHA-NUMERIC and underscore and dash and slash and dot $menu_timeout_prompt = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$menu_timeout_prompt); @@ -2949,6 +2965,7 @@ if ($non_latin < 1) $agent_display_fields = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$agent_display_fields); $container_notes = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$container_notes); $did_carrier_description = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$did_carrier_description); + $status_group_notes = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$status_group_notes); ### ALPHA-NUMERIC and underscore and dash and slash and at and dot $call_out_number_group = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$call_out_number_group); @@ -3603,12 +3620,13 @@ else # 150928-1235 - Separated User Group permissions for Inbound Report report by in-group and by DID # 150928-1817 - Added DNC logging and DNC phone number log search # 151007-2224 - Added links and lists for DIDs and Call Menus in use in sections, Issue #835 +# 151022-1404 - Added status groups admin, Added custom reports display and admin # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 9 to access this page the first time -$admin_version = '2.12-515a'; -$build = '151007-2224'; +$admin_version = '2.12-516a'; +$build = '151022-1404'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -4096,6 +4114,7 @@ if ($ADD==171111111111) {$hh='admin'; $sh='vm'; echo _QXZ("ADD NEW VOICEMAIL BOX if ($ADD==181111111111) {$hh='admin'; $sh='label'; echo _QXZ("ADD NEW SCREEN LABEL");} if ($ADD==191111111111) {$hh='admin'; $sh='cts'; echo _QXZ("ADD NEW CONTACT");} if ($ADD==192111111111) {$hh='admin'; $sh='sc'; echo _QXZ("ADD SETTINGS CONTAINER");} +if ($ADD==193111111111) {$hh='admin'; $sh='sg'; echo _QXZ("ADD STATUS GROUP");} if ($ADD==1111111111111) {$hh='admin'; $sh='conference'; echo _QXZ("ADD NEW CONFERENCE");} if ($ADD==11111111111111) {$hh='admin'; $sh='conference'; echo _QXZ("ADD NEW AGENT CONFERENCE");} if ($ADD=='2') {$hh='users'; echo _QXZ("New User Addition");} @@ -4145,6 +4164,7 @@ if ($ADD==271111111111) {$hh='admin'; $sh='vm'; echo _QXZ("ADDING NEW VOICEMAIL if ($ADD==281111111111) {$hh='admin'; $sh='label'; echo _QXZ("ADDING NEW SCREEN LABEL");} if ($ADD==291111111111) {$hh='admin'; $sh='cts'; echo _QXZ("ADDING NEW CONTACT");} if ($ADD==292111111111) {$hh='admin'; $sh='sc'; echo _QXZ("ADDING NEW SETTINGS CONTAINER");} +if ($ADD==293111111111) {$hh='admin'; $sh='sg'; echo _QXZ("ADDING NEW STATUS GROUP");} if ($ADD==2111111111111) {$hh='admin'; $sh='conference'; echo _QXZ("ADDING NEW CONFERENCE");} if ($ADD==21111111111111) {$hh='admin'; $sh='conference'; echo _QXZ("ADDING NEW AGENT CONFERENCE");} if ($ADD==221111111111111) {$hh='admin'; $sh='status'; echo _QXZ("ADDING SYSTEM STATUSES");} @@ -4220,6 +4240,7 @@ if ($ADD==371111111111) {$hh='admin'; $sh='vm'; echo _QXZ("MODIFY VOICEMAIL BOX" if ($ADD==381111111111) {$hh='admin'; $sh='label'; echo _QXZ("MODIFY SCREEN LABEL");} if ($ADD==391111111111) {$hh='admin'; $sh='cts'; echo _QXZ("MODIFY CONTACT");} if ($ADD==392111111111) {$hh='admin'; $sh='sc'; echo _QXZ("MODIFY SETTINGS CONTAINER");} +if ($ADD==393111111111) {$hh='admin'; $sh='sg'; echo _QXZ("MODIFY STATUS GROUP");} if ($ADD==3111111111111) {$hh='admin'; $sh='conference'; echo _QXZ("MODIFY CONFERENCE");} if ($ADD==31111111111111) {$hh='admin'; $sh='conference'; echo _QXZ("MODIFY AGENT CONFERENCE");} if ($ADD==311111111111111) {$hh='admin'; $sh='settings'; echo _QXZ("MODIFY SYSTEM SETTINGS");} @@ -4268,6 +4289,7 @@ if ($ADD==471111111111) {$hh='admin'; $sh='vm'; echo _QXZ("MODIFY VOICEMAIL BOX" if ($ADD==481111111111) {$hh='admin'; $sh='label'; echo _QXZ("MODIFY SCREEN LABEL");} if ($ADD==491111111111) {$hh='admin'; $sh='cts'; echo _QXZ("MODIFY CONTACT");} if ($ADD==492111111111) {$hh='admin'; $sh='sc'; echo _QXZ("MODIFY SETTINGS CONTAINER");} +if ($ADD==493111111111) {$hh='admin'; $sh='sg'; echo _QXZ("MODIFY STATUS GROUP");} if ($ADD==4111111111111) {$hh='admin'; $sh='conference'; echo _QXZ("MODIFY CONFERENCE");} if ($ADD==41111111111111) {$hh='admin'; $sh='conference'; echo _QXZ("MODIFY CONFERENCE");} if ($ADD==411111111111111) {$hh='admin'; $sh='settings'; echo _QXZ("MODIFY SYSTEM SETTINGS");} @@ -4305,6 +4327,7 @@ if ($ADD==571111111111) {$hh='admin'; $sh='vm'; echo _QXZ("DELETE VOICEMAIL BOX" if ($ADD==581111111111) {$hh='admin'; $sh='label'; echo _QXZ("DELETE SCREEN LABEL");} if ($ADD==591111111111) {$hh='admin'; $sh='cts'; echo _QXZ("DELETE CONTACT");} if ($ADD==592111111111) {$hh='admin'; $sh='sc'; echo _QXZ("DELETE SETTINGS CONTAINER");} +if ($ADD==593111111111) {$hh='admin'; $sh='sg'; echo _QXZ("DELETE STATUS GROUP");} if ($ADD==5111111111111) {$hh='admin'; $sh='conference'; echo _QXZ("DELETE CONFERENCE");} if ($ADD==51111111111111) {$hh='admin'; $sh='conference'; echo _QXZ("DELETE AGENT CONFERENCE");} if ($ADD==6) {$hh='users'; echo _QXZ("Delete User");} @@ -4345,6 +4368,7 @@ if ($ADD==671111111111) {$hh='admin'; $sh='vm'; echo _QXZ("DELETE VOICEMAIL BOX" if ($ADD==681111111111) {$hh='admin'; $sh='label'; echo _QXZ("DELETE SCREEN LABEL");} if ($ADD==691111111111) {$hh='admin'; $sh='cts'; echo _QXZ("DELETE CONTACT");} if ($ADD==692111111111) {$hh='admin'; $sh='sc'; echo _QXZ("DELETE SETTINGS CONTAINER");} +if ($ADD==693111111111) {$hh='admin'; $sh='sg'; echo _QXZ("DELETE STATUS GROUP");} if ($ADD==6111111111111) {$hh='admin'; $sh='conference'; echo _QXZ("DELETE CONFERENCE");} if ($ADD==61111111111111) {$hh='admin'; $sh='conference'; echo _QXZ("DELETE AGENT CONFERENCE");} if ($ADD==73) {$hh='campaigns'; echo _QXZ("Dialable Lead Count");} @@ -4391,6 +4415,7 @@ if ($ADD==170000000000) {$hh='admin'; $sh='vm'; echo _QXZ("VOICEMAIL BOXES LIST" if ($ADD==180000000000) {$hh='admin'; $sh='label'; echo _QXZ("SCREEN LABELS LIST");} if ($ADD==190000000000) {$hh='admin'; $sh='cts'; echo _QXZ("CONTACTS LIST");} if ($ADD==192000000000) {$hh='admin'; $sh='sc'; echo _QXZ("SETTINGS CONTAINTER LIST");} +if ($ADD==193000000000) {$hh='admin'; $sh='sg'; echo _QXZ("STATUS GROUP LIST");} if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo _QXZ("CONFERENCE LIST");} if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo _QXZ("AGENT CONFERENCE LIST");} if ($ADD==100000000000000) {$hh='qc'; echo _QXZ("Quality Control");} @@ -5030,7 +5055,6 @@ if ($ADD==99999) ###################### # ADD=73 view dialable leads from a filter and a campaign ###################### - if ($ADD==73) { if ($LOGmodify_campaigns==1) @@ -5115,7 +5139,6 @@ if ($ADD==73) ###################### # ADD=7111111 view sample script with test variables ###################### - if ($ADD==7111111) { ##### TEST VARIABLES ##### @@ -5389,7 +5412,6 @@ if ( ($SSadmin_modify_refresh > 1) and (preg_match("/^3|^4/",$ADD)) ) ###################### # ADD=1 display the ADD NEW USER FORM SCREEN ###################### - if ($ADD=="1") { if ($LOGmodify_users==1) @@ -5454,7 +5476,6 @@ if ($ADD=="1") ###################### # ADD=1A display the COPY USER FORM SCREEN ###################### - if ($ADD=="1A") { if ($LOGmodify_users==1) @@ -5523,7 +5544,6 @@ if ($ADD=="1A") ###################### # ADD=11 display the ADD NEW CAMPAIGN FORM SCREEN ###################### - if ($ADD==11) { if ($LOGmodify_campaigns==1) @@ -5663,7 +5683,6 @@ if ($ADD==11) ###################### # ADD=12 display the COPY CAMPAIGN FORM SCREEN ###################### - if ($ADD==12) { if ($LOGmodify_campaigns==1) @@ -5727,7 +5746,6 @@ if ($ADD==12) ###################### # ADD=111 display the ADD NEW LIST FORM SCREEN ###################### - if ($ADD==111) { if ($LOGmodify_lists==1) @@ -5791,7 +5809,6 @@ if ($ADD==111) ###################### # ADD=121 display the ADD NUMBER TO DNC FORM SCREEN and add a new number ###################### - if ($ADD==121) { ### filter for DIGITS and NEWLINES @@ -6029,7 +6046,6 @@ if ($ADD==121) ###################### # ADD=171 display the ADD NUMBER TO Filter Phone Group FORM SCREEN and add a new number ###################### - if ($ADD==171) { ### filter for Letters DIGITS and NEWLINES @@ -6139,7 +6155,6 @@ if ($ADD==171) ###################### # ADD=1111 display the ADD NEW INBOUND GROUP SCREEN ###################### - if ($ADD==1111) { if ($LOGmodify_ingroups==1) @@ -6218,10 +6233,10 @@ if ($ADD==1111) } } + ###################### # ADD=1811 display the ADD NEW EMAIL GROUP SCREEN ###################### - if ($ADD==1811) { if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) @@ -6290,10 +6305,10 @@ if ($ADD==1811) } } + ###################### # ADD=18111 display the ADD NEW CHAT GROUP SCREEN ###################### - if ($ADD==18111) { if ( ($LOGmodify_ingroups==1) and ($SSallow_chats>0) ) @@ -6363,10 +6378,10 @@ if ($ADD==18111) } } + ###################### # ADD=1211 display the COPY INBOUND GROUP SCREEN ###################### - if ($ADD==1211) { if ($LOGmodify_ingroups==1) @@ -6425,10 +6440,10 @@ if ($ADD==1211) } } + ###################### # ADD=1911 display the COPY EMAIL INBOUND GROUP SCREEN ###################### - if ($ADD==1911) { if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) @@ -6487,10 +6502,10 @@ if ($ADD==1911) } } + ###################### # ADD=19111 display the COPY CHAT INBOUND GROUP SCREEN ###################### - if ($ADD==19111) { if ( ($LOGmodify_ingroups==1) and ($SSallow_chats>0) ) @@ -6549,10 +6564,10 @@ if ($ADD==19111) } } + ###################### # ADD=1311 display the ADD NEW DID SCREEN ###################### - if ($ADD==1311) { if ($LOGmodify_dids==1) @@ -6583,7 +6598,6 @@ if ($ADD==1311) ###################### # ADD=1411 display the COPY DID SCREEN ###################### - if ($ADD==1411) { if ($LOGmodify_dids==1) @@ -6628,7 +6642,6 @@ if ($ADD==1411) ###################### # ADD=1511 display the ADD NEW CALL MENU SCREEN ###################### - if ($ADD==1511) { if ($LOGmodify_dids==1) @@ -6677,7 +6690,6 @@ if ($ADD==1511) ###################### # ADD=1611 display the COPY CALL MENU SCREEN ###################### - if ($ADD==1611) { if ($LOGmodify_dids==1) @@ -6740,7 +6752,6 @@ if ($ADD==1611) ###################### # ADD=1711 display the ADD NEW FILTER PHONE GROUP SCREEN ###################### - if ($ADD==1711) { if ($LOGmodify_dids==1) @@ -6772,7 +6783,6 @@ if ($ADD==1711) ###################### # ADD=11111 display the ADD NEW REMOTE AGENTS SCREEN ###################### - if ($ADD==11111) { if ( ($LOGmodify_remoteagents==1) and ($x_ra_carrier < 1) ) @@ -6811,7 +6821,6 @@ if ($ADD==11111) ###################### # ADD=12111 display the ADD NEW EXTENSION GROUP SCREEN ###################### - if ($ADD==12111) { if ($LOGmodify_remoteagents==1) @@ -6851,7 +6860,6 @@ if ($ADD==12111) ###################### # ADD=111111 display the ADD NEW USER GROUP SCREEN ###################### - if ($ADD==111111) { if ($LOGmodify_usergroups==1) @@ -6896,7 +6904,6 @@ if ($ADD==111111) ###################### # ADD=1111111 display the ADD NEW SCRIPT SCREEN ###################### - if ($ADD==1111111) { if ($LOGmodify_scripts==1) @@ -7031,7 +7038,6 @@ if ($ADD==1111111) ###################### # ADD=11111111 display the ADD NEW FILTER SCREEN ###################### - if ($ADD==11111111) { if ($LOGmodify_filters==1) @@ -7082,7 +7088,6 @@ if ($ADD==11111111) ###################### # ADD=111111111 display the ADD NEW CALL TIME SCREEN ###################### - if ($ADD==111111111) { if ($LOGmodify_call_times==1) @@ -7116,7 +7121,6 @@ if ($ADD==111111111) ###################### # ADD=1111111111 display the ADD NEW STATE CALL TIME SCREEN ###################### - if ($ADD==1111111111) { if ($LOGmodify_call_times==1) @@ -7151,7 +7155,6 @@ if ($ADD==1111111111) ###################### # ADD=1211111111 display the ADD NEW HOLIDAY SCREEN ###################### - if ($ADD==1211111111) { if ($LOGmodify_call_times==1) @@ -7198,7 +7201,6 @@ if ($ADD==1211111111) ###################### # ADD=131111111 display the ADD NEW SHIFT SCREEN ###################### - if ($ADD==131111111) { if ( ($LOGmodify_call_times==1) or ($LOGmodify_shifts==1) ) @@ -7243,7 +7245,6 @@ if ($ADD==131111111) ###################### # ADD=11111111111 display the ADD NEW PHONE SCREEN ###################### - if ($ADD==11111111111) { if ( ($LOGast_admin_access==1) or ($LOGmodify_phones==1) ) @@ -7313,7 +7314,6 @@ if ($ADD==11111111111) ###################### # ADD=12111111111 display the ADD NEW PHONE ALIAS SCREEN ###################### - if ($ADD==12111111111) { if ( ($LOGast_admin_access==1) or ($LOGmodify_phones==1) ) @@ -7348,7 +7348,6 @@ if ($ADD==12111111111) ###################### # ADD=13111111111 display the ADD NEW GROUP ALIAS SCREEN ###################### - if ($ADD==13111111111) { if ( ($LOGast_admin_access==1) or ($LOGmodify_phones==1) ) @@ -7385,7 +7384,6 @@ if ($ADD==13111111111) ###################### # ADD=111111111111 display the ADD NEW SERVER SCREEN ###################### - if ($ADD==111111111111) { if ($LOGmodify_servers==1) @@ -7419,7 +7417,6 @@ if ($ADD==111111111111) ###################### # ADD=131111111111 display the ADD NEW CONF TEMPLATE SCREEN ###################### - if ($ADD==131111111111) { if ($LOGmodify_servers==1) @@ -7452,7 +7449,6 @@ if ($ADD==131111111111) ###################### # ADD=141111111111 display the ADD NEW CARRIER SCREEN ###################### - if ($ADD==141111111111) { if ( ( ($LOGmodify_servers==1) or ($LOGmodify_carriers==1) ) and ($x_ra_carrier < 1) ) @@ -7512,7 +7508,6 @@ if ($ADD==141111111111) ###################### # ADD=140111111111 display the ADD COPIED CARRIER SCREEN ###################### - if ($ADD==140111111111) { if ( ( ($LOGmodify_servers==1) or ($LOGmodify_carriers==1) ) and ($x_ra_carrier < 1) ) @@ -7558,11 +7553,9 @@ if ($ADD==140111111111) } - ###################### # ADD=151111111111 display the ADD NEW TTS ENTRY SCREEN ###################### - if ($ADD==151111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_tts==1) ) @@ -7596,7 +7589,6 @@ if ($ADD==151111111111) ###################### # ADD=161111111111 display the ADD NEW MUSIC ON HOLD ENTRY SCREEN ###################### - if ($ADD==161111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_moh==1) ) @@ -7630,7 +7622,6 @@ if ($ADD==161111111111) ###################### # ADD=171111111111 display the ADD NEW VOICEMAIL BOX SCREEN ###################### - if ($ADD==171111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_moh==1) ) @@ -7666,7 +7657,6 @@ if ($ADD==171111111111) ###################### # ADD=181111111111 display the ADD NEW SCREEN LABEL SCREEN ###################### - if ($ADD==181111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_labels==1) ) @@ -7699,7 +7689,6 @@ if ($ADD==181111111111) ###################### # ADD=191111111111 display the ADD NEW CONTACT SCREEN ###################### - if ($ADD==191111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_contacts==1) ) @@ -7737,7 +7726,6 @@ if ($ADD==191111111111) ###################### # ADD=192111111111 display the ADD NEW SETTINGS CONTAINER ###################### - if ($ADD==192111111111) { if ($LOGmodify_servers==1) @@ -7768,10 +7756,41 @@ if ($ADD==192111111111) } +###################### +# ADD=193111111111 display the ADD NEW Statuses Group +###################### +if ($ADD==193111111111) + { + if ($LOGmodify_statuses==1) + { + echo "
\n"; + echo ""; + + echo "
"._QXZ("ADD NEW STATUSES GROUP")."
\n"; + echo "\n"; + echo "
\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
"._QXZ("Status Group ID").": $NWB#status_groups$NWE
"._QXZ("Status Group Notes").": $NWB#status_groups$NWE
"._QXZ("Admin User Group").": $NWB#status_groups$NWE
\n"; + } + else + { + echo _QXZ("You do not have permission to view this page")."\n"; + exit; + } + } + + ###################### # ADD=1111111111111 display the ADD NEW CONFERENCE SCREEN ###################### - if ($ADD==1111111111111) { if ($LOGast_admin_access==1) @@ -7800,7 +7819,6 @@ if ($ADD==1111111111111) ###################### # ADD=11111111111111 display the ADD NEW VICIDIAL CONFERENCE SCREEN ###################### - if ($ADD==11111111111111) { if ($LOGast_admin_access==1) @@ -7827,6 +7845,8 @@ if ($ADD==11111111111111) + + ###################################################################################################### ###################################################################################################### ####### 2 series, validates form data and inserts the new record into the database @@ -7837,7 +7857,6 @@ if ($ADD==11111111111111) ###################### # ADD=2 adds the new user to the system ###################### - if ($ADD=="2") { if ($add_copy_disabled > 0) @@ -8149,10 +8168,10 @@ if ($ADD=="2") $ADD=3; } + ###################### # ADD=2A adds the copied new user to the system ###################### - if ($ADD=="2A") { if ($add_copy_disabled > 0) @@ -8469,10 +8488,10 @@ if ($ADD=="2A") exit; } + ###################### # ADD=21 adds the new campaign to the system ###################### - if ($ADD==21) { $campaign_id = preg_replace("/\-/",'',$campaign_id); @@ -8511,47 +8530,55 @@ if ($ADD==21) {echo "
"._QXZ("CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID")."\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) - { - echo "
"._QXZ("CAMPAIGN NOT ADDED - Please go back and look at the data you entered")."\n"; - echo "
"._QXZ("campaign ID must be between 2 and 8 characters in length")."\n"; - echo "
"._QXZ("campaign name must be between 6 and 40 characters in length")."\n"; - } + $stmt="SELECT count(*) from vicidial_status_groups where status_group_id='$campaign_id';"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + if ($row[0] > 0) + {echo "
"._QXZ("CAMPAIGN NOT ADDED - there is already a status group in the system with this ID")."\n";} else { - echo "
"._QXZ("CAMPAIGN ADDED").": $campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns - if ( (!preg_match('/\-ALL/i', $LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
"._QXZ("CAMPAIGN NOT ADDED - Please go back and look at the data you entered")."\n"; + echo "
"._QXZ("campaign ID must be between 2 and 8 characters in length")."\n"; + echo "
"._QXZ("campaign name must be between 6 and 40 characters in length")."\n"; + } + else + { + echo "
"._QXZ("CAMPAIGN ADDED").": $campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns + if ( (!preg_match('/\-ALL/i', $LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_to_mysqli($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group,web_form_address_three) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysqli_real_escape_string($link, $web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group','');"; + $rslt=mysql_to_mysqli($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_to_mysqli($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_to_mysqli($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = preg_replace('/;/', '', $SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADD CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group,web_form_address_three) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysqli_real_escape_string($link, $web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group','');"; - $rslt=mysql_to_mysqli($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_to_mysqli($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_to_mysqli($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = preg_replace('/;/', '', $SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADD CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_to_mysqli($stmt, $link); } } } @@ -8559,10 +8586,10 @@ if ($ADD==21) $ADD=31; } + ###################### # ADD=20 adds copied new campaign to the system ###################### - if ($ADD==20) { $campaign_id = preg_replace("/\-/",'',$campaign_id); @@ -8601,69 +8628,77 @@ if ($ADD==20) {echo "
"._QXZ("CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID")."\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) - { - echo "
"._QXZ("CAMPAIGN NOT ADDED - Please go back and look at the data you entered")."\n"; - echo "
"._QXZ("campaign ID must be between 2 and 8 characters in length")."\n"; - echo "
"._QXZ("source campaign ID must be between 2 and 8 characters in length")."\n"; - } + $stmt="SELECT count(*) from vicidial_status_groups where status_group_id='$campaign_id';"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + if ($row[0] > 0) + {echo "
"._QXZ("CAMPAIGN NOT ADDED - there is already a status group in the system with this ID")."\n";} else { - echo "
"._QXZ("CAMPAIGN COPIED").": $campaign_id "._QXZ("copied from")." $source_campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns - if ( (!preg_match('/\-ALL/i', $LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
"._QXZ("CAMPAIGN NOT ADDED - Please go back and look at the data you entered")."\n"; + echo "
"._QXZ("campaign ID must be between 2 and 8 characters in length")."\n"; + echo "
"._QXZ("source campaign ID must be between 2 and 8 characters in length")."\n"; + } + else + { + echo "
"._QXZ("CAMPAIGN COPIED").": $campaign_id "._QXZ("copied from")." $source_campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns + if ( (!preg_match('/\-ALL/i', $LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_to_mysqli($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,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,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,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,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec,manual_dial_lead_id,dead_max,dispo_max,pause_max,dead_max_dispo,dispo_max_dispo,max_inbound_calls,manual_dial_search_checkbox,hide_call_log_info,timer_alt_seconds,wrapup_bypass,wrapup_after_hotkey,callback_active_limit,callback_active_limit_override,comments_all_tabs,comments_dispo_screen,comments_callback_screen,qc_comment_history,show_previous_callback,clear_script,cpd_unknown_action,manual_dial_search_filter,web_form_address_three,manual_dial_override_field,status_display_ingroup,customer_gone_seconds,agent_display_fields) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,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,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,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,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec,manual_dial_lead_id,dead_max,dispo_max,pause_max,dead_max_dispo,dispo_max_dispo,max_inbound_calls,manual_dial_search_checkbox,hide_call_log_info,timer_alt_seconds,wrapup_bypass,wrapup_after_hotkey,callback_active_limit,callback_active_limit_override,comments_all_tabs,comments_dispo_screen,comments_callback_screen,qc_comment_history,show_previous_callback,clear_script,cpd_unknown_action,manual_dial_search_filter,web_form_address_three,manual_dial_override_field,status_display_ingroup,customer_gone_seconds,agent_display_fields from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_to_mysqli($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_to_mysqli($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_to_mysqli($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_to_mysqli($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_to_mysqli($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_to_mysqli($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_to_mysqli($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_to_mysqli($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_to_mysqli($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_cid_areacodes (areacode,outbound_cid,active,cid_description,campaign_id) SELECT areacode,outbound_cid,active,cid_description,\"$campaign_id\" from vicidial_campaign_cid_areacodes where campaign_id='$source_campaign_id';"; + $rslt=mysql_to_mysqli($stmtA, $link); + + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = preg_replace('/;/', '', $SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,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,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,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,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec,manual_dial_lead_id,dead_max,dispo_max,pause_max,dead_max_dispo,dispo_max_dispo,max_inbound_calls,manual_dial_search_checkbox,hide_call_log_info,timer_alt_seconds,wrapup_bypass,wrapup_after_hotkey,callback_active_limit,callback_active_limit_override,comments_all_tabs,comments_dispo_screen,comments_callback_screen,qc_comment_history,show_previous_callback,clear_script,cpd_unknown_action,manual_dial_search_filter,web_form_address_three,manual_dial_override_field,status_display_ingroup,customer_gone_seconds,agent_display_fields) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,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,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,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,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec,manual_dial_lead_id,dead_max,dispo_max,pause_max,dead_max_dispo,dispo_max_dispo,max_inbound_calls,manual_dial_search_checkbox,hide_call_log_info,timer_alt_seconds,wrapup_bypass,wrapup_after_hotkey,callback_active_limit,callback_active_limit_override,comments_all_tabs,comments_dispo_screen,comments_callback_screen,qc_comment_history,show_previous_callback,clear_script,cpd_unknown_action,manual_dial_search_filter,web_form_address_three,manual_dial_override_field,status_display_ingroup,customer_gone_seconds,agent_display_fields from vicidial_campaigns where campaign_id='$source_campaign_id';"; - $rslt=mysql_to_mysqli($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_to_mysqli($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_to_mysqli($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; - $rslt=mysql_to_mysqli($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; - $rslt=mysql_to_mysqli($stmtA, $link); - - $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; - $rslt=mysql_to_mysqli($stmtA, $link); - - $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; - $rslt=mysql_to_mysqli($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_to_mysqli($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_to_mysqli($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_cid_areacodes (areacode,outbound_cid,active,cid_description,campaign_id) SELECT areacode,outbound_cid,active,cid_description,\"$campaign_id\" from vicidial_campaign_cid_areacodes where campaign_id='$source_campaign_id';"; - $rslt=mysql_to_mysqli($stmtA, $link); - - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = preg_replace('/;/', '', $SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_to_mysqli($stmt, $link); } } } @@ -8671,10 +8706,10 @@ if ($ADD==20) $ADD=31; } + ###################### # ADD=22 adds the new campaign status to the system ###################### - if ($ADD==22) { if ($add_copy_disabled > 0) @@ -8708,7 +8743,7 @@ if ($ADD==22) { echo "
"._QXZ("CAMPAIGN STATUS ADDED").": $campaign_id - $status_id\n"; - $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed','$min_sec','$max_sec');"; $rslt=mysql_to_mysqli($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -8730,7 +8765,6 @@ if ($ADD==22) ###################### # ADD=23 adds the new campaign hotkey to the system ###################### - if ($ADD==23) { if ($add_copy_disabled > 0) @@ -8782,7 +8816,6 @@ if ($ADD==23) ###################### # ADD=25 adds the new campaign lead recycle entry to the system ###################### - if ($ADD==25) { if ($add_copy_disabled > 0) @@ -8832,7 +8865,6 @@ if ($ADD==25) ###################### # ADD=26 adds the new auto alt dial status to the campaign ###################### - if ($ADD==26) { if ($add_copy_disabled > 0) @@ -8886,7 +8918,6 @@ if ($ADD==26) ###################### # ADD=27 adds the new campaign agent pause code entry to the system ###################### - if ($ADD==27) { if ($add_copy_disabled > 0) @@ -8934,7 +8965,6 @@ if ($ADD==27) ###################### # ADD=28 adds new status to the campaign dial statuses ###################### - if ($ADD==28) { if ($add_copy_disabled > 0) @@ -9172,7 +9202,6 @@ if ($ADD==202) ###################### # ADD=211 adds the new list to the system ###################### - if ($ADD==211) { if ($add_copy_disabled > 0) @@ -9231,11 +9260,9 @@ if ($ADD==211) } - ###################### # ADD=2111 adds the new inbound group to the system ###################### - if ($ADD==2111) { $group_id = preg_replace("/\-/",'',$group_id); @@ -9307,10 +9334,10 @@ if ($ADD==2111) $ADD=3111; } + ###################### # ADD=2811 adds the new EMAIL inbound group to the system ###################### - if ( ($ADD==2811) and ($SSallow_emails>0) ) { $group_id = preg_replace("/\-/",'',$group_id); @@ -9382,10 +9409,10 @@ if ( ($ADD==2811) and ($SSallow_emails>0) ) $ADD=3811; } + ###################### # ADD=28111 adds the new CHAT inbound group to the system ###################### - if ( ($ADD==28111) and ($SSallow_chats>0) ) { $group_id = preg_replace("/\-/",'',$group_id); @@ -9461,7 +9488,6 @@ if ( ($ADD==28111) and ($SSallow_chats>0) ) ###################### # ADD=2011 adds copied inbound group to the system ###################### - if ($ADD==2011) { $group_id = preg_replace("/\-/",'',$group_id); @@ -9508,7 +9534,7 @@ if ($ADD==2011) } else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset,status_group_id) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset,status_group_id from vicidial_inbound_groups where group_id=\"$source_group_id\";"; $rslt=mysql_to_mysqli($stmt, $link); $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; @@ -9533,10 +9559,10 @@ if ($ADD==2011) $ADD=3111; } + ###################### # ADD=2911 adds copied email group to the system ###################### - if ( ($ADD==2911) and ($SSallow_emails>0) ) { $group_id = preg_replace("/\-/",'',$group_id); @@ -9583,7 +9609,7 @@ if ( ($ADD==2911) and ($SSallow_emails>0) ) } else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset,status_group_id) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset,status_group_id from vicidial_inbound_groups where group_id=\"$source_group_id\";"; $rslt=mysql_to_mysqli($stmt, $link); $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; @@ -9608,10 +9634,10 @@ if ( ($ADD==2911) and ($SSallow_emails>0) ) $ADD=3811; } + ###################### # ADD=29111 adds copied chat group to the system ###################### - if ( ($ADD==29111) and ($SSallow_chats>0) ) { $group_id = preg_replace("/\-/",'',$group_id); @@ -9658,7 +9684,7 @@ if ( ($ADD==29111) and ($SSallow_chats>0) ) } else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset,status_group_id) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset,status_group_id from vicidial_inbound_groups where group_id=\"$source_group_id\";"; $rslt=mysql_to_mysqli($stmt, $link); $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; @@ -9683,10 +9709,10 @@ if ( ($ADD==29111) and ($SSallow_chats>0) ) $ADD=3911; } + ###################### # ADD=2311 adds the new did to the system ###################### - if ($ADD==2311) { if ($add_copy_disabled > 0) @@ -9745,7 +9771,6 @@ if ($ADD==2311) ###################### # ADD=2411 adds copied did to the system ###################### - if ($ADD==2411) { if ($add_copy_disabled > 0) @@ -9796,7 +9821,6 @@ if ($ADD==2411) ###################### # ADD=2511 adds the new call menu to the system ###################### - if ($ADD==2511) { if ($add_copy_disabled > 0) @@ -9870,7 +9894,6 @@ if ($ADD==2511) ###################### # ADD=2611 adds copied call menu to the system ###################### - if ($ADD==2611) { if ($add_copy_disabled > 0) @@ -9947,7 +9970,6 @@ if ($ADD==2611) ###################### # ADD=2711 adds the new filter phone group to the system ###################### - if ($ADD==2711) { if ($add_copy_disabled > 0) @@ -9993,7 +10015,6 @@ if ($ADD==2711) ###################### # ADD=21111 adds new remote agents to the system ###################### - if ($ADD==21111) { if ( ($add_copy_disabled > 0) or ($LOGmodify_remoteagents!='1') or ($x_ra_carrier > 0) ) @@ -10058,7 +10079,6 @@ if ($ADD==21111) ###################### # ADD=22111 adds new extension group entry to the system ###################### - if ($ADD==22111) { if ($add_copy_disabled > 0) @@ -10109,7 +10129,6 @@ if ($ADD==22111) ###################### # ADD=211111 adds new user group to the system ###################### - if ($ADD==211111) { if ($add_copy_disabled > 0) @@ -10272,10 +10291,10 @@ if ($ADD==211111) $ADD=100000; } + ###################### # ADD=2111111 adds new script to the system ###################### - if ($ADD==2111111) { if ($add_copy_disabled > 0) @@ -10335,7 +10354,6 @@ if ($ADD==2111111) ###################### # ADD=21111111 adds new filter to the system ###################### - if ($ADD==21111111) { if ($add_copy_disabled > 0) @@ -10396,7 +10414,6 @@ if ($ADD==21111111) ###################### # ADD=211111111 adds new call time definition to the system ###################### - if ($ADD==211111111) { if ($add_copy_disabled > 0) @@ -10443,7 +10460,6 @@ if ($ADD==211111111) ###################### # ADD=2111111111 adds new state call time definition to the system ###################### - if ($ADD==2111111111) { if ($add_copy_disabled > 0) @@ -10490,7 +10506,6 @@ if ($ADD==2111111111) ###################### # ADD=2211111111 adds new holiday definition to the system ###################### - if ($ADD==2211111111) { if ($add_copy_disabled > 0) @@ -10537,7 +10552,6 @@ if ($ADD==2211111111) ###################### # ADD=231111111 adds new shift definition to the system ###################### - if ($ADD==231111111) { if ($add_copy_disabled > 0) @@ -10608,7 +10622,6 @@ if ($ADD==231111111) ###################### # ADD=21111111111 adds new phone to the system ###################### - if ($ADD==21111111111) { if ($add_copy_disabled > 0) @@ -10698,7 +10711,6 @@ if ($ADD==21111111111) ###################### # ADD=22111111111 adds new phone alias to the system ###################### - if ($ADD==22111111111) { if ($add_copy_disabled > 0) @@ -10749,7 +10761,6 @@ if ($ADD==22111111111) ###################### # ADD=23111111111 adds new group alias to the system ###################### - if ($ADD==23111111111) { if ($add_copy_disabled > 0) @@ -10797,7 +10808,6 @@ if ($ADD==23111111111) ###################### # ADD=211111111111 adds new server to the system ###################### - if ($ADD==211111111111) { if ( ($LOGmodify_servers!=1) or ($add_copy_disabled > 0) ) @@ -10843,7 +10853,6 @@ if ($ADD==211111111111) ###################### # ADD=221111111111 adds the new vicidial server trunk record to the system ###################### - if ($ADD==221111111111) { if ($add_copy_disabled > 0) @@ -10908,7 +10917,6 @@ if ($ADD==221111111111) ###################### # ADD=231111111111 adds new conf template to the system ###################### - if ($ADD==231111111111) { if ($add_copy_disabled > 0) @@ -10951,7 +10959,6 @@ if ($ADD==231111111111) ###################### # ADD=241111111111 adds new server carrier to the system ###################### - if ($ADD==241111111111) { if ( ($add_copy_disabled > 0) or ($x_ra_carrier > 0) ) @@ -10997,7 +11004,6 @@ if ($ADD==241111111111) ###################### # ADD=240111111111 adds copied server carrier to the system ###################### - if ($ADD==240111111111) { if ($add_copy_disabled > 0) @@ -11043,7 +11049,6 @@ if ($ADD==240111111111) ###################### # ADD=251111111111 adds new tts entry to the system ###################### - if ($ADD==251111111111) { if ($add_copy_disabled > 0) @@ -11086,7 +11091,6 @@ if ($ADD==251111111111) ###################### # ADD=261111111111 adds new music on hold entry to the system ###################### - if ($ADD==261111111111) { if ($add_copy_disabled > 0) @@ -11129,7 +11133,6 @@ if ($ADD==261111111111) ###################### # ADD=271111111111 adds new voicemail box to the system ###################### - if ($ADD==271111111111) { if ($add_copy_disabled > 0) @@ -11188,7 +11191,6 @@ if ($ADD==271111111111) ###################### # ADD=281111111111 adds new screen label to the system ###################### - if ($ADD==281111111111) { if ($add_copy_disabled > 0) @@ -11231,7 +11233,6 @@ if ($ADD==281111111111) ###################### # ADD=291111111111 adds new contact to the system ###################### - if ($ADD==291111111111) { if ($add_copy_disabled > 0) @@ -11285,7 +11286,6 @@ if ($ADD==291111111111) ###################### # ADD=292111111111 adds new settings container to the system ###################### - if ($ADD==292111111111) { if ( ($LOGmodify_servers!=1) or ($add_copy_disabled > 0) ) @@ -11325,10 +11325,60 @@ if ($ADD==292111111111) } +###################### +# ADD=293111111111 adds new status group to the system +###################### +if ($ADD==293111111111) + { + if ( ($LOGmodify_statuses!=1) or ($add_copy_disabled > 0) ) + { + echo "
"._QXZ("You do not have permission to add records on this system")." -system_settings-\n"; + } + else + { + echo ""; + $stmt="SELECT count(*) from vicidial_status_groups where status_group_id='$status_group_id';"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + if ($row[0] > 0) + {echo "
"._QXZ("STATUS GROUP NOT ADDED - there is already a group in the system with this ID")."\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$status_group_id';"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + if ($row[0] > 0) + {echo "
"._QXZ("STATUS GROUP NOT ADDED - there is already a campaign in the system with this ID")."\n";} + else + { + + if ( (strlen($status_group_id) < 2) or (strlen($status_group_notes) < 2) ) + {echo "
"._QXZ("STATUS GROUP NOT ADDED - Please go back and look at the data you entered")."\n";} + else + { + echo "
"._QXZ("STATUS GROUP ADDED")."\n"; + + $stmt="INSERT INTO vicidial_status_groups SET status_group_id='$status_group_id',status_group_notes='$status_group_notes',user_group='$user_group';"; + $rslt=mysql_to_mysqli($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = preg_replace('/;/', '', $SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSGROUPS', event_type='ADD', record_id='$status_group_id', event_code='ADMIN ADD STATUS GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + } + } + } + } + $ADD=393111111111; + } + + ###################### # ADD=2111111111111 adds new conference to the system ###################### - if ($ADD==2111111111111) { if ($add_copy_disabled > 0) @@ -11363,7 +11413,6 @@ if ($ADD==2111111111111) ###################### # ADD=21111111111111 adds new vicidial conference to the system ###################### - if ($ADD==21111111111111) { if ($add_copy_disabled > 0) @@ -11398,7 +11447,6 @@ if ($ADD==21111111111111) ###################### # ADD=221111111111111 adds the new system status to the system ###################### - if ($ADD==221111111111111) { if ($add_copy_disabled > 0) @@ -11432,7 +11480,7 @@ if ($ADD==221111111111111) { echo "
"._QXZ("SYSTEM STATUS ADDED").": $status_name - $status_id\n"; - $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed','$min_sec','$max_sec');"; $rslt=mysql_to_mysqli($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -11453,7 +11501,6 @@ if ($ADD==221111111111111) ###################### # ADD=231111111111111 adds the new status category to the system ###################### - if ($ADD==231111111111111) { if ($add_copy_disabled > 0) @@ -11520,7 +11567,6 @@ if ($ADD==231111111111111) ###################### # ADD=4A submit user modifications to the system - ADMIN ###################### - if ($ADD=="4A") { if ($LOGmodify_users==1) @@ -11792,7 +11838,6 @@ if ($ADD=="4A") ###################### # ADD=4B submit user modifications to the system - ADMIN ###################### - if ($ADD=="4B") { if ($LOGmodify_users==1) @@ -12055,7 +12100,6 @@ if ($ADD=="4B") ###################### # ADD=4 submit user modifications to the system ###################### - if ($ADD==4) { if ($LOGmodify_users==1) @@ -12307,10 +12351,10 @@ if ($ADD==4) $ADD=3; # go to user modification below } + ###################### # ADD=41 submit campaign modifications to the system - DETAIL ###################### - if ($ADD==41) { if ($LOGmodify_campaigns==1) @@ -12645,7 +12689,6 @@ if ($ADD==41) ###################### # ADD=42 modify/delete campaign status in the system ###################### - if ($ADD==42) { if ($LOGmodify_campaigns==1) @@ -12682,7 +12725,7 @@ if ($ADD==42) { echo "
"._QXZ("CUSTOM CAMPAIGN STATUS MODIFIED").": $campaign_id - $status\n"; - $stmt="UPDATE vicidial_campaign_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category',sale='$sale',dnc='$dnc',customer_contact='$customer_contact',not_interested='$not_interested',unworkable='$unworkable',scheduled_callback='$scheduled_callbacks',completed='$completed' where campaign_id='$campaign_id' and status='$status';"; + $stmt="UPDATE vicidial_campaign_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category',sale='$sale',dnc='$dnc',customer_contact='$customer_contact',not_interested='$not_interested',unworkable='$unworkable',scheduled_callback='$scheduled_callbacks',completed='$completed',min_sec='$min_sec',max_sec='$max_sec' where campaign_id='$campaign_id' and status='$status';"; $rslt=mysql_to_mysqli($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -12708,7 +12751,6 @@ if ($ADD==42) ###################### # ADD=43 delete campaign hotkey in the system ###################### - if ($ADD==43) { if ($LOGmodify_campaigns==1) @@ -12751,7 +12793,6 @@ if ($ADD==43) ###################### # ADD=44 submit campaign modifications to the system - Basic View ###################### - if ($ADD==44) { if ($LOGmodify_campaigns==1) @@ -12902,7 +12943,6 @@ if ($ADD==44) ###################### # ADD=45 modify campaign lead recycle in the system ###################### - if ($ADD==45) { if ($LOGmodify_campaigns==1) @@ -12945,7 +12985,6 @@ if ($ADD==45) ###################### # ADD=47 modify agent pause code in the system ###################### - if ($ADD==47) { if ($LOGmodify_campaigns==1) @@ -13044,7 +13083,6 @@ if ($ADD==48) ###################### # ADD=40A modify campaign survey settings in the system ###################### - if ($ADD=='40A') { if ($LOGmodify_campaigns==1) @@ -13084,7 +13122,6 @@ if ($ADD=='40A') ###################### # ADD=49 modify campaign list mix in the system ###################### - if ($ADD==49) { if ($LOGmodify_campaigns==1) @@ -13355,7 +13392,6 @@ if ($ADD==49) ###################### # ADD=401 modify campaign preset in the system ###################### - if ($ADD==401) { if ($LOGmodify_campaigns==1) @@ -13396,7 +13432,6 @@ if ($ADD==401) ###################### # ADD=411 submit list modifications to the system ###################### - if ($ADD==411) { if ( ($LOGmodify_lists==1) and (strlen($list_id) > 1) ) @@ -13444,7 +13479,7 @@ if ($ADD==411) echo "
"._QXZ("LIST MODIFIED").": $list_id\n"; - $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysqli_real_escape_string($link, $web_form_address) . "',web_form_address_two='" . mysqli_real_escape_string($link, $web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report',expiration_date='$expiration_date',na_call_url='" . mysqli_real_escape_string($link, $na_call_url) . "',local_call_time='$local_call_time',web_form_address_three='" . mysqli_real_escape_string($link, $web_form_address_three) . "' where list_id='$list_id';"; + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysqli_real_escape_string($link, $web_form_address) . "',web_form_address_two='" . mysqli_real_escape_string($link, $web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report',expiration_date='$expiration_date',na_call_url='" . mysqli_real_escape_string($link, $na_call_url) . "',local_call_time='$local_call_time',web_form_address_three='" . mysqli_real_escape_string($link, $web_form_address_three) . "',status_group_id='$status_group_id' where list_id='$list_id';"; $rslt=mysql_to_mysqli($stmt, $link); ## BEGIN QC Addition for Audited Comments @@ -13496,7 +13531,6 @@ if ($ADD==411) ###################### # ADD=4111 modify in-group info in the system ###################### - if ($ADD==4111 || $ADD==4811 || $ADD==4911) { if ($SUB=='agents_select') @@ -13659,7 +13693,7 @@ if ($ADD==4111 || $ADD==4811 || $ADD==4911) echo "
"._QXZ("GROUP MODIFIED ").": $group_id\n"; - $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysqli_real_escape_string($link, $web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', group_handling='$group_handling', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysqli_real_escape_string($link, $web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysqli_real_escape_string($link, $start_call_url) . "',dispo_call_url='" . mysqli_real_escape_string($link, $dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysqli_real_escape_string($link, $add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysqli_real_escape_string($link, $na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action',dial_ingroup_cid='$dial_ingroup_cid',web_form_address_three='" . mysqli_real_escape_string($link, $web_form_address_three) . "',populate_lead_ingroup='$populate_lead_ingroup',drop_lead_reset='$drop_lead_reset',after_hours_lead_reset='$after_hours_lead_reset',nanq_lead_reset='$nanq_lead_reset',wait_time_lead_reset='$wait_time_lead_reset',hold_time_lead_reset='$hold_time_lead_reset' where group_id='$group_id';"; + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysqli_real_escape_string($link, $web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', group_handling='$group_handling', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysqli_real_escape_string($link, $web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysqli_real_escape_string($link, $start_call_url) . "',dispo_call_url='" . mysqli_real_escape_string($link, $dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysqli_real_escape_string($link, $add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysqli_real_escape_string($link, $na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action',dial_ingroup_cid='$dial_ingroup_cid',web_form_address_three='" . mysqli_real_escape_string($link, $web_form_address_three) . "',populate_lead_ingroup='$populate_lead_ingroup',drop_lead_reset='$drop_lead_reset',after_hours_lead_reset='$after_hours_lead_reset',nanq_lead_reset='$nanq_lead_reset',wait_time_lead_reset='$wait_time_lead_reset',hold_time_lead_reset='$hold_time_lead_reset',status_group_id='$status_group_id' where group_id='$group_id';"; $rslt=mysql_to_mysqli($stmt, $link); switch($group_handling) @@ -13700,7 +13734,6 @@ if ($ADD==4111 || $ADD==4811 || $ADD==4911) ###################### # ADD=4311 modify did info in the system ###################### - if ($ADD==4311) { if ($LOGmodify_dids==1) @@ -13745,7 +13778,6 @@ if ($ADD==4311) ###################### # ADD=4511 modify call menu info in the system ###################### - if ($ADD==4511) { if ($LOGmodify_dids==1) @@ -13899,7 +13931,6 @@ if ($ADD==4511) ###################### # ADD=4711 modify filter phone group info in the system ###################### - if ($ADD==4711) { if ($LOGmodify_dids==1) @@ -13939,7 +13970,6 @@ if ($ADD==4711) ###################### # ADD=41111 modify remote agents info in the system ###################### - if ($ADD==41111) { if ($LOGmodify_remoteagents==1) @@ -13997,7 +14027,6 @@ if ($ADD==41111) ###################### # ADD=42111 modify extenison group entry in the system ###################### - if ($ADD==42111) { if ($LOGmodify_remoteagents==1) @@ -14037,7 +14066,6 @@ if ($ADD==42111) ###################### # ADD=411111 modify user group info in the system ###################### - if ($ADD==411111) { if ($LOGmodify_usergroups==1) @@ -14137,7 +14165,35 @@ if ($ADD==411111) } } - $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value',qc_allowed_campaigns='$qc_campaigns_value',qc_allowed_inbound_groups='$qc_groups_value',group_shifts='$GROUP_shifts',forced_timeclock_login='$forced_timeclock_login',shift_enforcement='$shift_enforcement',agent_status_viewable_groups='$VGROUP_vgroups',agent_status_view_time='$agent_status_view_time',agent_call_log_view='$agent_call_log_view',agent_xfer_consultative='$agent_xfer_consultative',agent_xfer_dial_override='$agent_xfer_dial_override',agent_xfer_vm_transfer='$agent_xfer_vm_transfer',agent_xfer_blind_transfer='$agent_xfer_blind_transfer',agent_xfer_dial_with_customer='$agent_xfer_dial_with_customer',agent_xfer_park_customer_dial='$agent_xfer_park_customer_dial',agent_fullscreen='$agent_fullscreen',allowed_reports='$allowed_reports',webphone_url_override='" . mysqli_real_escape_string($link, $webphone_url_override) . "',webphone_systemkey_override='$webphone_systemkey_override',webphone_dialpad_override='$webphone_dialpad_override',admin_viewable_groups='$Vadmin_viewable_groups',admin_viewable_call_times='$Vadmin_viewable_call_times' where user_group='$OLDuser_group';"; + ### JCJ - custom reports beta + $custom_rpt_SQL=''; + $custom_stmt="show tables like 'vicidial_custom_reports'"; + $custom_rslt=mysql_to_mysqli($custom_stmt, $link); + if (mysqli_num_rows($custom_rslt)>0) + { + + $custom_report_str=""; + if (count($allowed_custom_reports)>0) + { + for ($q=0; $q"._QXZ("USER GROUP MODIFIED")."\n"; @@ -14250,7 +14306,6 @@ if ($ADD==411111) ###################### # ADD=4111111 modify script in the system ###################### - if ($ADD==4111111) { if ($LOGmodify_scripts==1) @@ -14292,7 +14347,6 @@ if ($ADD==4111111) ###################### # ADD=41111111 modify filter in the system ###################### - if ($ADD==41111111) { if ($LOGmodify_filters==1) @@ -14334,7 +14388,6 @@ if ($ADD==41111111) ###################### # ADD=411111111 modify call time in the system ###################### - if ($ADD==411111111) { if ($LOGmodify_call_times==1) @@ -14390,7 +14443,6 @@ if ($ADD==411111111) ###################### # ADD=4111111111 modify state call time in the system ###################### - if ($ADD==4111111111) { if ($LOGmodify_call_times==1) @@ -14446,7 +14498,6 @@ if ($ADD==4111111111) ###################### # ADD=4211111111 modify holiday in the system ###################### - if ($ADD==4211111111) { if ($LOGmodify_call_times==1) @@ -14488,7 +14539,6 @@ if ($ADD==4211111111) ###################### # ADD=431111111 modify shift in the system ###################### - if ($ADD==431111111) { if ( ($LOGmodify_call_times==1) or ($LOGmodify_shifts==1) ) @@ -14539,7 +14589,6 @@ if ($ADD==431111111) ###################### # ADD=41111111111 modify phone record in the system ###################### - if ($ADD==41111111111) { if ( ($LOGast_admin_access==1) or ($LOGmodify_phones==1) ) @@ -14601,7 +14650,6 @@ if ($ADD==41111111111) ###################### # ADD=42111111111 modify phone alias record in the system ###################### - if ($ADD==42111111111) { if ( ($LOGast_admin_access==1) or ($LOGmodify_phones==1) ) @@ -14641,7 +14689,6 @@ if ($ADD==42111111111) ###################### # ADD=43111111111 modify group alias record in the system ###################### - if ($ADD==43111111111) { if ( ($LOGast_admin_access==1) or ($LOGmodify_phones==1) ) @@ -14681,7 +14728,6 @@ if ($ADD==43111111111) ###################### # ADD=411111111111 modify server record in the system ###################### - if ($ADD==411111111111) { if ($LOGmodify_servers==1) @@ -14740,7 +14786,6 @@ if ($ADD==411111111111) ###################### # ADD=421111111111 modify vicidial server trunks record in the system ###################### - if ($ADD==421111111111) { if ($LOGmodify_servers==1) @@ -14838,7 +14883,6 @@ if ($ADD==431111111111) ###################### # ADD=441111111111 modify carrier record in the system ###################### - if ($ADD==441111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_carriers==1) ) @@ -14878,7 +14922,6 @@ if ($ADD==441111111111) ###################### # ADD=451111111111 modify tts record in the system ###################### - if ($ADD==451111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_tts==1) ) @@ -14915,7 +14958,6 @@ if ($ADD==451111111111) ###################### # ADD=461111111111 modify music on hold record in the system ###################### - if ($ADD==461111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_moh==1) ) @@ -15016,7 +15058,6 @@ if ($ADD==461111111111) ###################### # ADD=471111111111 modify voicemail record in the system ###################### - if ($ADD==471111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_voicemail==1) ) @@ -15066,7 +15107,6 @@ if ($ADD==471111111111) ###################### # ADD=481111111111 modify screen label record in the system ###################### - if ($ADD==481111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_labels==1) ) @@ -15103,7 +15143,6 @@ if ($ADD==481111111111) ###################### # ADD=491111111111 modify contact record in the system ###################### - if ($ADD==491111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_contacts==1) ) @@ -15150,7 +15189,6 @@ if ($ADD==491111111111) ###################### # ADD=492111111111 modify settings container record in the system ###################### - if ($ADD==492111111111) { if ($LOGmodify_servers==1) @@ -15184,10 +15222,131 @@ if ($ADD==492111111111) } +###################### +# ADD=493111111111 modify status group record in the system +###################### +if ($ADD==493111111111) + { + if ($LOGmodify_statuses==1) + { + echo ""; + + if (strlen($status_group_id) < 2) + {echo "
"._QXZ("STATUS GROUP NOT MODIFIED - Please go back and look at the data you entered")."\n";} + else + { + if ($stage == 'add') + { + if ($add_copy_disabled > 0) + { + echo "
"._QXZ("You do not have permission to add records on this system")." -system_settings-\n"; + } + else + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$status_group_id' and status='$status_id';"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + if ($row[0] > 0) + {echo "
"._QXZ("STATUS GROUP STATUS NOT ADDED - there is already a status in the status group with this name")."\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + if ($row[0] > 0) + {echo "
"._QXZ("STATUS GROUP STATUS NOT ADDED - there is already a global-status in the system with this name")."\n";} + else + { + if ( (strlen($status_group_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
"._QXZ("STATUS GROUP STATUS NOT ADDED - Please go back and look at the data you entered")."\n"; + echo "
"._QXZ("status must be between 1 and 8 characters in length")."\n"; + echo "
"._QXZ("status name must be between 2 and 30 characters in length")."\n"; + } + else + { + echo "
"._QXZ("STATUS GROUP STATUS ADDED").": $status_group_id - $status_id\n"; + + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec) values('$status_id','$status_name','$selectable','$status_group_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed','$min_sec','$max_sec');"; + $rslt=mysql_to_mysqli($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = preg_replace('/;/', '', $SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSGROUPS', event_type='ADD', record_id='$status_group_id', event_code='ADMIN ADD STATUS GROUP STATUS', event_sql=\"$SQL_log\", event_notes='Status: $status_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + } + } + } + } + } + elseif ($stage == 'delete') + { + echo "
"._QXZ("STATUS GROUP STATUS DELETED").": $status_group_id - $status\n"; + + $stmt="DELETE FROM vicidial_campaign_statuses where campaign_id='$status_group_id' and status='$status';"; + $rslt=mysql_to_mysqli($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = preg_replace('/;/', '', $SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSGROUPS', event_type='DELETE', record_id='$status_group_id', event_code='ADMIN DELETE STATUS GROUP STATUS', event_sql=\"$SQL_log\", event_notes='Status: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + } + elseif ($stage == 'modify') + { + echo "
"._QXZ("STATUS GROUP STATUS MODIFIED").": $status_group_id - $status\n"; + + $stmt="UPDATE vicidial_campaign_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category',sale='$sale',dnc='$dnc',customer_contact='$customer_contact',not_interested='$not_interested',unworkable='$unworkable',scheduled_callback='$scheduled_callbacks',completed='$completed',min_sec='$min_sec',max_sec='$max_sec' where campaign_id='$status_group_id' and status='$status';"; + $rslt=mysql_to_mysqli($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = preg_replace('/;/', '', $SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSGROUPS', event_type='MODIFY', record_id='$status_group_id', event_code='ADMIN MODIFY STATUS GROUP STATUS', event_sql=\"$SQL_log\", event_notes='Status: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + } + else + { + if (strlen($status_group_notes) < 2) + {echo "
"._QXZ("STATUS GROUP NOT MODIFIED - Please go back and look at the data you entered")."\n";} + else + { + $stmt="UPDATE vicidial_status_groups set status_group_notes='$status_group_notes',user_group='$user_group' where status_group_id='$status_group_id';"; + $rslt=mysql_to_mysqli($stmt, $link); + + echo "
"._QXZ("STATUS GROUP MODIFIED").": $status_group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = preg_replace('/;/', '', $SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSGROUPS', event_type='MODIFY', record_id='$status_group_id', event_code='ADMIN MODIFY STATUS GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + } + } + } + } + else + { + echo _QXZ("You do not have permission to view this page")."\n"; + exit; + } + $ADD=393111111111; # go to status group entry modification form below + } + + ###################### # ADD=4111111111111 modify conference record in the system ###################### - if ($ADD==4111111111111) { if ($LOGast_admin_access==1) @@ -15224,7 +15383,6 @@ if ($ADD==4111111111111) ###################### # ADD=41111111111111 modify vicidial conference record in the system ###################### - if ($ADD==41111111111111) { if ($LOGast_admin_access==1) @@ -15262,7 +15420,6 @@ if ($ADD==41111111111111) ###################### # ADD=411111111111111 modify vicidial system settings ###################### - if ($ADD==411111111111111) { if ($LOGmodify_servers==1) @@ -15294,7 +15451,26 @@ if ($ADD==411111111111111) $custom_dialplanSQL=''; if ($LOGmodify_custom_dialplans > 0) {$custom_dialplanSQL = ",custom_dialplan_entry='$custom_dialplan_entry'";} - $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysqli_real_escape_string($link, $webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refresh='$admin_modify_refresh',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add',queuemetrics_record_hold='$queuemetrics_record_hold',country_code_list_stats='$country_code_list_stats',queuemetrics_pause_type='$queuemetrics_pause_type',frozen_server_call_clear='$frozen_server_call_clear',callback_time_24hour='$callback_time_24hour',enable_languages='$enable_languages',language_method='$language_method',meetme_enter_login_filename='$meetme_enter_login_filename',meetme_enter_leave3way_filename='$meetme_enter_leave3way_filename',enable_did_entry_list_id='$enable_did_entry_list_id',enable_third_webform='$enable_third_webform',allow_chats='$allow_chats',chat_url='$chat_url',chat_timeout='$chat_timeout',agent_debug_logging='$agent_debug_logging',default_language='$default_language',agent_whisper_enabled='$agent_whisper_enabled',user_hide_realtime_enabled='$user_hide_realtime_enabled'$custom_dialplanSQL;"; + +### JCJ - Custom reports + $custom_stmt="show tables like 'vicidial_custom_reports'"; + $custom_rslt=mysql_to_mysqli($custom_stmt, $link); + $custom_reports_slave_SQL=''; + if (mysqli_num_rows($custom_rslt)>0) + { + for ($q=0; $q"._QXZ("SYSTEM STATUS MODIFIED").": $status\n"; - $stmt="UPDATE vicidial_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category',sale='$sale',dnc='$dnc',customer_contact='$customer_contact',not_interested='$not_interested',unworkable='$unworkable',scheduled_callback='$scheduled_callbacks',completed='$completed' where status='$status';"; + $stmt="UPDATE vicidial_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category',sale='$sale',dnc='$dnc',customer_contact='$customer_contact',not_interested='$not_interested',unworkable='$unworkable',scheduled_callback='$scheduled_callbacks',completed='$completed',min_sec='$min_sec',max_sec='$max_sec' where status='$status';"; $rslt=mysql_to_mysqli($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15400,7 +15575,6 @@ if ($ADD==421111111111111) ###################### # ADD=431111111111111 modify/delete status category in the system ###################### - if ($ADD==431111111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_statuses==1) ) @@ -15468,7 +15642,6 @@ if ($ADD==431111111111111) ###################### # ADD=441111111111111 modify/delete qc status code in the system ###################### - if ($ADD==441111111111111) { if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) @@ -15535,6 +15708,7 @@ if ($ADD==441111111111111) + ###################################################################################################### ###################################################################################################### ####### 5 series, delete records confirmation @@ -15545,7 +15719,6 @@ if ($ADD==441111111111111) ###################### # ADD=5 confirmation before deletion of user ###################### - if ($ADD==5) { echo ""; @@ -15564,10 +15737,10 @@ if ($ADD==5) $ADD='3'; # go to user modification below } + ###################### # ADD=51 confirmation before deletion of campaign ###################### - if ($ADD==51) { echo ""; @@ -15586,10 +15759,10 @@ if ($ADD==51) $ADD='31'; # go to campaign modification below } + ###################### # ADD=52 confirmation before logging all agents out of campaign of campaign ###################### - if ($ADD==52) { echo ""; @@ -15608,10 +15781,10 @@ if ($ADD==52) $ADD='31'; # go to campaign modification below } + ###################### # ADD=53 confirmation before Emergency VDAC Jam Clear - deletes oldest LIVE vicidial_auto_call record ###################### - if ($ADD==53) { if (preg_match('/IN/i', $stage)) @@ -15636,10 +15809,10 @@ if ($ADD==53) {$ADD='31';} } + ###################### # ADD=511 confirmation before deletion of list ###################### - if ($ADD==511) { echo ""; @@ -15658,10 +15831,10 @@ if ($ADD==511) $ADD='311'; # go to list modification below } + ###################### # ADD=512 confirmation before clearing of list ###################### - if ($ADD==512) { echo ""; @@ -15678,10 +15851,10 @@ if ($ADD==512) $ADD='311'; # go to list modification below } + ###################### # ADD=5111 confirmation before deletion of in-group ###################### - if ($ADD==5111) { echo ""; @@ -15700,10 +15873,10 @@ if ($ADD==5111) $ADD='3111'; # go to in-group modification below } + ###################### # ADD=5311 confirmation before deletion of did ###################### - if ($ADD==5311) { echo ""; @@ -15722,10 +15895,10 @@ if ($ADD==5311) $ADD='3311'; # go to did modification below } + ###################### # ADD=5511 confirmation before deletion of call menu ###################### - if ($ADD==5511) { echo ""; @@ -15744,10 +15917,10 @@ if ($ADD==5511) $ADD='3511'; # go to call menu modification below } + ###################### # ADD=5711 confirmation before deletion of filter phone group ###################### - if ($ADD==5711) { echo ""; @@ -15766,10 +15939,10 @@ if ($ADD==5711) $ADD='3711'; # go to filter phone group modification below } + ###################### # ADD=51111 confirmation before deletion of remote agent record ###################### - if ($ADD==51111) { echo ""; @@ -15788,10 +15961,10 @@ if ($ADD==51111) $ADD='31111'; # go to remote agent modification below } + ###################### # ADD=52111 confirmation before deletion of extension group record ###################### - if ($ADD==52111) { echo ""; @@ -15810,10 +15983,10 @@ if ($ADD==52111) $ADD='32111'; # go to extension group modification below } + ###################### # ADD=511111 confirmation before deletion of user group record ###################### - if ($ADD==511111) { echo ""; @@ -15832,10 +16005,10 @@ if ($ADD==511111) $ADD='311111'; # go to user group modification below } + ###################### # ADD=5111111 confirmation before deletion of script record ###################### - if ($ADD==5111111) { echo ""; @@ -15854,10 +16027,10 @@ if ($ADD==5111111) $ADD='3111111'; # go to script modification below } + ###################### # ADD=51111111 confirmation before deletion of filter record ###################### - if ($ADD==51111111) { echo ""; @@ -15876,10 +16049,10 @@ if ($ADD==51111111) $ADD='31111111'; # go to filter modification below } + ###################### # ADD=511111111 confirmation before deletion of call time record ###################### - if ($ADD==511111111) { echo ""; @@ -15898,10 +16071,10 @@ if ($ADD==511111111) $ADD='311111111'; # go to call time modification below } + ###################### # ADD=5111111111 confirmation before deletion of state call time record ###################### - if ($ADD==5111111111) { echo ""; @@ -15924,7 +16097,6 @@ if ($ADD==5111111111) ###################### # ADD=5211111111 confirmation before deletion of holiday record ###################### - if ($ADD==5211111111) { echo ""; @@ -15947,7 +16119,6 @@ if ($ADD==5211111111) ###################### # ADD=531111111 confirmation before deletion of shift record ###################### - if ($ADD==531111111) { echo ""; @@ -15966,10 +16137,10 @@ if ($ADD==531111111) $ADD='331111111'; # go to call time modification below } + ###################### # ADD=51111111111 confirmation before deletion of phone record ###################### - if ($ADD==51111111111) { echo ""; @@ -15992,7 +16163,6 @@ if ($ADD==51111111111) ###################### # ADD=52111111111 confirmation before deletion of phone alias record ###################### - if ($ADD==52111111111) { echo ""; @@ -16014,7 +16184,6 @@ if ($ADD==52111111111) ###################### # ADD=53111111111 confirmation before deletion of group alias record ###################### - if ($ADD==53111111111) { echo ""; @@ -16036,7 +16205,6 @@ if ($ADD==53111111111) ###################### # ADD=511111111111 confirmation before deletion of server record ###################### - if ($ADD==511111111111) { echo ""; @@ -16059,7 +16227,6 @@ if ($ADD==511111111111) ###################### # ADD=531111111111 confirmation before deletion of conf template record ###################### - if ($ADD==531111111111) { echo ""; @@ -16081,7 +16248,6 @@ if ($ADD==531111111111) ###################### # ADD=541111111111 confirmation before deletion of carrier record ###################### - if ($ADD==541111111111) { echo ""; @@ -16103,7 +16269,6 @@ if ($ADD==541111111111) ###################### # ADD=551111111111 confirmation before deletion of tts record ###################### - if ($ADD==551111111111) { echo ""; @@ -16125,7 +16290,6 @@ if ($ADD==551111111111) ###################### # ADD=561111111111 confirmation before deletion of music on hold record ###################### - if ($ADD==561111111111) { echo ""; @@ -16147,7 +16311,6 @@ if ($ADD==561111111111) ###################### # ADD=571111111111 confirmation before deletion of voicemail record ###################### - if ($ADD==571111111111) { echo ""; @@ -16169,7 +16332,6 @@ if ($ADD==571111111111) ###################### # ADD=581111111111 confirmation before deletion of screen label record ###################### - if ($ADD==581111111111) { echo ""; @@ -16191,7 +16353,6 @@ if ($ADD==581111111111) ###################### # ADD=591111111111 confirmation before deletion of contact record ###################### - if ($ADD==591111111111) { echo ""; @@ -16213,7 +16374,6 @@ if ($ADD==591111111111) ###################### # ADD=592111111111 confirmation before deletion of settings container record ###################### - if ($ADD==592111111111) { echo ""; @@ -16225,17 +16385,37 @@ if ($ADD==592111111111) } else { - echo "
"._QXZ("SCREEN LABEL DELETION CONFIRMATION").": $container_id - $container_notes\n"; + echo "
"._QXZ("SETTINGS CONTAINER DELETION CONFIRMATION").": $container_id - $container_notes\n"; echo "

"._QXZ("Click here to delete settings container")." $container_id - $container_notes


\n"; } $ADD='392111111111'; # go to settings container entry modification below } +###################### +# ADD=593111111111 confirmation before deletion of status group record +###################### +if ($ADD==593111111111) + { + echo ""; + + if (strlen($status_group_id) < 2) + { + echo "
"._QXZ("STATUS GROUP NOT DELETED - Please go back and look at the data you entered")."\n"; + echo "
"._QXZ("Status Group ID be at least 2 characters in length")."\n"; + } + else + { + echo "
"._QXZ("STATUS GROUP DELETION CONFIRMATION").": $status_group_id\n"; + echo "

"._QXZ("Click here to delete status group")." $status_group_id


\n"; + } + $ADD='393111111111'; # go to status groups entry modification below + } + + ###################### # ADD=5111111111111 confirmation before deletion of conference record ###################### - if ($ADD==5111111111111) { echo ""; @@ -16258,7 +16438,6 @@ if ($ADD==5111111111111) ###################### # ADD=51111111111111 confirmation before deletion of vicidial conference record ###################### - if ($ADD==51111111111111) { echo ""; @@ -16279,6 +16458,8 @@ if ($ADD==51111111111111) + + ###################################################################################################### ###################################################################################################### ####### 6 series, delete records @@ -16289,7 +16470,6 @@ if ($ADD==51111111111111) ###################### # ADD=6 delete user record ###################### - if ($ADD==6) { echo ""; @@ -16340,10 +16520,10 @@ if ($ADD==6) $ADD='0'; # go to user list } + ###################### # ADD=61 delete campaign record ###################### - if ($ADD==61) { echo ""; @@ -16436,7 +16616,6 @@ if ($ADD==61) ###################### # ADD=62 Logout all agents from a campaign ###################### - if ($ADD==62) { if ($LOGmodify_campaigns==1) @@ -16742,7 +16921,6 @@ if ($ADD==62) ###################### # ADD=63 Emergency VDAC Jam Clear ###################### - if ($ADD==63) { if ($LOGmodify_campaigns==1) @@ -16797,7 +16975,6 @@ if ($ADD==63) ###################### # ADD=65 delete campaign lead recycle in the system ###################### - if ($ADD==65) { if ($LOGmodify_campaigns==1) @@ -16848,7 +17025,6 @@ if ($ADD==65) ###################### # ADD=66 delete auto alt dial status from the campaign ###################### - if ($ADD==66) { if ($LOGmodify_campaigns==1) @@ -16909,7 +17085,6 @@ if ($ADD==66) ###################### # ADD=67 delete agent pause code in the system ###################### - if ($ADD==67) { if ($LOGmodify_campaigns==1) @@ -16958,7 +17133,6 @@ if ($ADD==67) ###################### # ADD=68 remove campaign dial status ###################### - if ($ADD==68) { if ($LOGmodify_campaigns==1) @@ -17019,7 +17193,6 @@ if ($ADD==68) ###################### # ADD=601 delete preset in the system ###################### - if ($ADD==601) { if ($LOGmodify_campaigns==1) @@ -17071,7 +17244,6 @@ if ($ADD==601) ###################### # ADD=611 delete list record and all leads within it ###################### - if ($ADD==611) { echo ""; @@ -17117,10 +17289,10 @@ if ($ADD==611) $ADD='100'; # go to lists list } + ###################### # ADD=612 clear list record and all leads within it ###################### - if ($ADD==612) { echo ""; @@ -17176,10 +17348,10 @@ if ($ADD==612) $ADD='311'; # go to list modify page } + ###################### # ADD=6111 delete in-group record ###################### - if ($ADD==6111) { echo ""; @@ -17246,7 +17418,6 @@ if ($ADD==6111) ###################### # ADD=6311 delete did record ###################### - if ($ADD==6311) { echo ""; @@ -17284,10 +17455,10 @@ if ($ADD==6311) $ADD='1300'; # go to did list } + ###################### # ADD=6511 delete call menu record ###################### - if ($ADD==6511) { echo ""; @@ -17327,10 +17498,10 @@ if ($ADD==6511) $ADD='1500'; # go to call menu list } + ###################### # ADD=6711 delete filter phone group record ###################### - if ($ADD==6711) { echo ""; @@ -17370,10 +17541,10 @@ if ($ADD==6711) $ADD='1700'; # go to filter phone group list } + ###################### # ADD=61111 delete remote agent record ###################### - if ($ADD==61111) { echo ""; @@ -17403,10 +17574,10 @@ if ($ADD==61111) $ADD='10000'; # go to remote agents list } + ###################### # ADD=62111 delete extension group record ###################### - if ($ADD==62111) { echo ""; @@ -17437,11 +17608,9 @@ if ($ADD==62111) } - ###################### # ADD=611111 delete user group record ###################### - if ($ADD==611111) { echo ""; @@ -17486,10 +17655,10 @@ if ($ADD==611111) $ADD='100000'; # go to user group list } + ###################### # ADD=6111111 delete script record ###################### - if ($ADD==6111111) { echo ""; @@ -17530,7 +17699,6 @@ if ($ADD==6111111) ###################### # ADD=61111111 delete filter record ###################### - if ($ADD==61111111) { echo ""; @@ -17571,7 +17739,6 @@ if ($ADD==61111111) ###################### # ADD=611111111 delete call times record ###################### - if ($ADD==611111111) { echo ""; @@ -17615,7 +17782,6 @@ if ($ADD==611111111) ###################### # ADD=6111111111 delete state call times record ###################### - if ($ADD==6111111111) { echo ""; @@ -17680,7 +17846,6 @@ if ($ADD==6111111111) ###################### # ADD=6211111111 delete holiday record ###################### - if ($ADD==6211111111) { echo ""; @@ -17745,7 +17910,6 @@ if ($ADD==6211111111) ###################### # ADD=631111111 delete shift record ###################### - if ($ADD==631111111) { echo ""; @@ -17786,7 +17950,6 @@ if ($ADD==631111111) ###################### # ADD=61111111111 delete phone record ###################### - if ($ADD==61111111111) { echo ""; @@ -17834,7 +17997,6 @@ if ($ADD==61111111111) ###################### # ADD=62111111111 delete phone alias record ###################### - if ($ADD==62111111111) { echo ""; @@ -17875,7 +18037,6 @@ if ($ADD==62111111111) ###################### # ADD=63111111111 delete group alias record ###################### - if ($ADD==63111111111) { echo ""; @@ -17916,7 +18077,6 @@ if ($ADD==63111111111) ###################### # ADD=611111111111 delete server record ###################### - if ($ADD==611111111111) { echo ""; @@ -17958,7 +18118,6 @@ if ($ADD==611111111111) ###################### # ADD=621111111111 delete vicidial server trunk record in the system ###################### - if ($ADD==621111111111) { if ($LOGmodify_servers==1) @@ -18007,7 +18166,6 @@ if ($ADD==621111111111) ###################### # ADD=631111111111 delete conf template record ###################### - if ($ADD==631111111111) { echo ""; @@ -18057,7 +18215,6 @@ if ($ADD==631111111111) ###################### # ADD=641111111111 delete carrier record ###################### - if ($ADD==641111111111) { echo ""; @@ -18106,7 +18263,6 @@ if ($ADD==641111111111) ###################### # ADD=651111111111 delete tts record ###################### - if ($ADD==651111111111) { echo ""; @@ -18147,7 +18303,6 @@ if ($ADD==651111111111) ###################### # ADD=661111111111 delete music on hold record ###################### - if ($ADD==661111111111) { echo ""; @@ -18191,7 +18346,6 @@ if ($ADD==661111111111) ###################### # ADD=671111111111 delete voicemail record ###################### - if ($ADD==671111111111) { echo ""; @@ -18240,7 +18394,6 @@ if ($ADD==671111111111) ###################### # ADD=681111111111 delete screen labels record ###################### - if ($ADD==681111111111) { echo ""; @@ -18281,7 +18434,6 @@ if ($ADD==681111111111) ###################### # ADD=691111111111 delete contact record ###################### - if ($ADD==691111111111) { echo ""; @@ -18324,7 +18476,6 @@ if ($ADD==691111111111) ###################### # ADD=692111111111 delete settings container record ###################### - if ($ADD==692111111111) { echo ""; @@ -18362,10 +18513,49 @@ if ($ADD==692111111111) } +###################### +# ADD=693111111111 delete status groups record +###################### +if ($ADD==693111111111) + { + echo ""; + + if ( (strlen($status_group_id) < 2) or ($CoNfIrM != 'YES') or ($LOGmodify_statuses!=1) ) + { + echo "
"._QXZ("STATUS GROUP NOT DELETED - Please go back and look at the data you entered")."\n"; + echo "
"._QXZ("Status Group ID must be at least 2 characters in length")."\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_status_groups where status_group_id='$status_group_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + if ($row[0] < 1) + {echo "
"._QXZ("STATUS GROUP NOT FOUND").": $status_group_id\n";} + else + { + $stmt="DELETE from vicidial_status_groups where status_group_id='$status_group_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_to_mysqli($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = preg_replace('/;/', '', $SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSGROUPS', event_type='DELETE', record_id='$status_group_id', event_code='ADMIN DELETE STATUS GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + + echo "
"._QXZ("STATUS GROUP DELETION COMPLETED").": $status_group_id\n"; + echo "

\n"; + } + } + $ADD='193000000000'; # go to status groups entry list + } + + ###################### # ADD=6111111111111 delete conference record ###################### - if ($ADD==6111111111111) { echo ""; @@ -18399,7 +18589,6 @@ if ($ADD==6111111111111) ###################### # ADD=61111111111111 delete vicidial conference record ###################### - if ($ADD==61111111111111) { echo ""; @@ -18445,7 +18634,6 @@ if ($ADD==61111111111111) ###################### # ADD=3 modify user info in the system ###################### - if ($ADD==3) { if ($LOGmodify_users==1) @@ -19305,7 +19493,7 @@ if ($ADD==31) $QCL_to_print = (count($QClists) -0); ##### get status listings for dynamic pulldown - $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_statuses order by status;"; + $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec from vicidial_statuses order by status;"; $rslt=mysql_to_mysqli($stmt, $link); $statuses_to_print = mysqli_num_rows($rslt); $statuses_list=''; @@ -19349,7 +19537,7 @@ if ($ADD==31) $o++; } - $stmt="SELECT status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by status;"; + $stmt="SELECT status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec from vicidial_campaign_statuses where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by status;"; $rslt=mysql_to_mysqli($stmt, $link); $Cstatuses_to_print = mysqli_num_rows($rslt); @@ -20891,25 +21079,69 @@ if ($ADD==31) ##### CAMPAIGN CUSTOM STATUSES ##### if ($SUB==22) { + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc;"; + $rslt=mysql_to_mysqli($stmt, $link); + $cats_to_print = mysqli_num_rows($rslt); + $cats_list=""; - ##### get status category listings for dynamic pulldown - $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc;"; - $rslt=mysql_to_mysqli($stmt, $link); - $cats_to_print = mysqli_num_rows($rslt); - $cats_list=""; + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysqli_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } - $o=0; - while ($cats_to_print > $o) - { - $rowx=mysqli_fetch_row($rslt); - $cats_list .= "\n"; - $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); - $o++; - } + $status_group_overrides_OUTPUT=''; + $status_group_overrides_OUTPUT .= ""._QXZ("ALLOWED IN-GROUPS USING A STATUS GROUP OVERRIDE").":
\n"; + $status_group_overrides_OUTPUT .= "\n"; + $stmt="SELECT closer_campaigns from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_to_mysqli($stmt, $link); + $cg_to_print = mysqli_num_rows($rslt); + if ($cg_to_print > 0) + { + $row=mysqli_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where status_group_id NOT IN('','NONE') and group_id IN('$closer_campaigns') $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_to_mysqli($stmt, $link); + $ig_to_print = mysqli_num_rows($rslt); + $sgo_ig=0; + while ($ig_to_print > $sgo_ig) + { + $row=mysqli_fetch_row($rslt); + $status_group_overrides_OUTPUT .= "\n"; + $sgo_ig++; + } + $status_group_overrides_OUTPUT .= "
$row[0] $row[1]

\n"; + + $status_group_overrides_OUTPUT .= ""._QXZ("CAMPAIGN LISTS USING A STATUS GROUP OVERRIDE").":
\n"; + $status_group_overrides_OUTPUT .= "\n"; + + $stmt="SELECT list_id,list_name from vicidial_lists where status_group_id NOT IN('','NONE') and campaign_id='$campaign_id';"; + $rslt=mysql_to_mysqli($stmt, $link); + $list_to_print = mysqli_num_rows($rslt); + $sgo_li=0; + while ($list_to_print > $sgo_li) + { + $row=mysqli_fetch_row($rslt); + $status_group_overrides_OUTPUT .= "\n"; + $sgo_li++; + } + $status_group_overrides_OUTPUT .= "
$row[0] $row[1]

\n"; + $sgo_total = ($sgo_ig + $sgo_li); + $sgo_message=''; + if ($sgo_total > 0) + {$sgo_message = "$sgo_total "._QXZ("STATUS GROUP OVERRIDES USED, see list at bottom")."";} echo "
\n"; - echo "
"._QXZ("CUSTOM STATUSES WITHIN THIS CAMPAIGN").":   $NWB#campaign_statuses$NWE
\n"; + echo "
"._QXZ("CUSTOM STATUSES WITHIN THIS CAMPAIGN").":   $NWB#campaign_statuses$NWE   $sgo_message
\n"; echo "\n"; echo "\n"; @@ -20924,7 +21156,10 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; ##### get status category listings for dynamic pulldown $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc;"; @@ -20941,7 +21176,7 @@ if ($ADD==31) $o++; } - $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by status;"; + $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec from vicidial_campaign_statuses where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by status;"; $rslt=mysql_to_mysqli($stmt, $link); $statuses_to_print = mysqli_num_rows($rslt); $o=0; @@ -20964,20 +21199,23 @@ if ($ADD==31) echo "$rowx[0]\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "
"._QXZ("STATUS").""._QXZ("UNWORKABLE").""._QXZ("SCHEDULED CALLBACK").""._QXZ("COMPLETED").""._QXZ("MODIFY/DELETE")."
"._QXZ("MIN SEC").""._QXZ("MAX SEC").""._QXZ("MODIFY/DELETE")."
\n"; - echo "\n"; echo "$cats_list"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "         \n"; echo "   \n"; @@ -21016,7 +21254,9 @@ if ($ADD==31) echo "  
\n"; echo "
\n"; - echo "
\n"; + echo "

\n"; + + echo "$status_group_overrides_OUTPUT"; } ##### CAMPAIGN HOTKEYS ##### @@ -21635,7 +21875,7 @@ if ($ADD==34) else {$ALTmultiDISABLE=0; $ALTmultiLINK='';} - $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_statuses order by status;"; + $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec from vicidial_statuses order by status;"; $rslt=mysql_to_mysqli($stmt, $link); $statuses_to_print = mysqli_num_rows($rslt); $statuses_list=''; @@ -21653,7 +21893,7 @@ if ($ADD==34) $o++; } - $stmt="SELECT status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by status;"; + $stmt="SELECT status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec from vicidial_campaign_statuses where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by status;"; $rslt=mysql_to_mysqli($stmt, $link); $Cstatuses_to_print = mysqli_num_rows($rslt); @@ -22565,7 +22805,6 @@ if ( ($ADD==34) or ($ADD==31) ) ###################### # ADD=30 campaign not allowed ###################### - if ($ADD==30) { echo "\n"; +#### JCJ - CUSTOM REPORTS SECTION + $custom_stmt="show tables like 'vicidial_custom_reports'"; + $custom_rslt=mysql_to_mysqli($custom_stmt, $link); + if (mysqli_num_rows($custom_rslt)>0) + { + echo ""; + } +#### + if ( ($SSallow_custom_dialplan > 0) and ($LOGmodify_custom_dialplans > 0) ) { echo "\n"; @@ -31671,14 +32270,9 @@ if ($ADD==311111111111111) } - - - - ###################### # ADD=321111111111111 modify vicidial system statuses ###################### - if ($ADD==321111111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_statuses==1) ) @@ -31706,7 +32300,10 @@ if ($ADD==321111111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; ##### get status category listings for dynamic pulldown $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; @@ -31723,7 +32320,7 @@ if ($ADD==321111111111111) $o++; } - $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_statuses order by status;"; + $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec from vicidial_statuses order by status;"; $rslt=mysql_to_mysqli($stmt, $link); $statuses_to_print = mysqli_num_rows($rslt); $o=0; @@ -31745,20 +32342,23 @@ if ($ADD==321111111111111) echo "$rowx[0]\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "
\n"; @@ -23015,7 +23254,6 @@ if ($ADD==301) } - ###################### # ADD=302 display campaign areacode cid counts ###################### @@ -23082,11 +23320,9 @@ if ($ADD==302) } - ###################### # ADD=311 modify list info in the system ###################### - if ($ADD==311) { if ($LOGmodify_lists==1) @@ -23099,7 +23335,7 @@ if ($ADD==311) echo "\n"; + ##### get status group listings for dynamic pulldown menu + $stmt="SELECT status_group_id,status_group_notes from vicidial_status_groups $whereLOGadmin_viewable_groupsSQL order by status_group_id;"; + $rslt=mysql_to_mysqli($stmt, $link); + $status_groups_to_print = mysqli_num_rows($rslt); + $status_groups_menu=''; + $status_groups_selected=0; + $o=0; + while ($status_groups_to_print > $o) + { + $rowx=mysqli_fetch_row($rslt); + $status_groups_menu .= "\n"; + $o++; + } + $sglinkB=''; $sglinkE=''; + if (strlen($status_group_id)>1) + { + $sglinkB=""; + $sglinkE=''; + } + + echo "\n"; + echo "\n"; if ($SSenable_second_webform > 0) { @@ -23981,11 +24249,9 @@ if ($ADD==311) } - ###################### # ADD=3111 modify in-group info in the system ###################### - if ($ADD==3111) { if ($LOGmodify_ingroups==1) @@ -23998,7 +24264,7 @@ if ($ADD==3111) echo "
\n"; echo ""; - $stmt="SELECT vicidial_lists.list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report,IFNULL(audit_comments,0),expiration_date,DATE_FORMAT(expiration_date,'%Y%m%d'),na_call_url,local_call_time,web_form_address_three from vicidial_lists left outer join vicidial_lists_custom on vicidial_lists.list_id=vicidial_lists_custom.list_id where vicidial_lists.list_id='$list_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT vicidial_lists.list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report,IFNULL(audit_comments,0),expiration_date,DATE_FORMAT(expiration_date,'%Y%m%d'),na_call_url,local_call_time,web_form_address_three,status_group_id from vicidial_lists left outer join vicidial_lists_custom on vicidial_lists.list_id=vicidial_lists_custom.list_id where vicidial_lists.list_id='$list_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_to_mysqli($stmt, $link); if ($DB) {echo "$stmt\n";} @@ -23130,9 +23366,10 @@ if ($ADD==311) $na_call_url = $row[24]; $list_local_call_time = $row[25]; $web_form_address_three = $row[26]; + $status_group_id = $row[27]; # grab names of global statuses and statuses in the selected campaign - $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_statuses order by status;"; + $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec from vicidial_statuses order by status;"; $rslt=mysql_to_mysqli($stmt, $link); $statuses_to_print = mysqli_num_rows($rslt); @@ -23145,7 +23382,7 @@ if ($ADD==311) $o++; } - $stmt="SELECT status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by status;"; + $stmt="SELECT status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec from vicidial_campaign_statuses where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by status;"; $rslt=mysql_to_mysqli($stmt, $link); $Cstatuses_to_print = mysqli_num_rows($rslt); @@ -23309,6 +23546,37 @@ if ($ADD==311) echo "$Dgroups_menu"; echo "$NWB#lists-drop_inbound_group_override$NWE
$sglinkB"._QXZ("Status Group Override")."$sglinkE: $NWB#lists-status_group_id$NWE
"._QXZ("Web Form").": $NWB#lists-web_form_address$NWE
\n"; + ##### get status group listings for dynamic pulldown menu + $stmt="SELECT status_group_id,status_group_notes from vicidial_status_groups $whereLOGadmin_viewable_groupsSQL order by status_group_id;"; + $rslt=mysql_to_mysqli($stmt, $link); + $status_groups_to_print = mysqli_num_rows($rslt); + $status_groups_menu=''; + $status_groups_selected=0; + $o=0; + while ($status_groups_to_print > $o) + { + $rowx=mysqli_fetch_row($rslt); + $status_groups_menu .= "\n"; + $o++; + } + $sglinkB=''; $sglinkE=''; + if (strlen($status_group_id)>1) + { + $sglinkB=""; + $sglinkE=''; + } + + echo "\n"; + $eswHTML=''; $cfwHTML=''; if ($SSenable_second_webform > 0) {$eswHTML = "";} @@ -25092,11 +25390,9 @@ if ($ADD==3111) } - ###################### # ADD=3811 modify email in-group info in the system ###################### - if ($ADD==3811) { if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) @@ -25109,7 +25405,7 @@ if ($ADD==3811) echo "
\n"; echo ""; - $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,populate_lead_ingroup,drop_lead_reset,after_hours_lead_reset,nanq_lead_reset,wait_time_lead_reset,hold_time_lead_reset,status_group_id from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); @@ -24123,6 +24389,7 @@ if ($ADD==3111) $nanq_lead_reset = $row[118]; $wait_time_lead_reset = $row[119]; $hold_time_lead_reset = $row[120]; + $status_group_id = $row[121]; ##### get callmenu listings for dynamic pulldown @@ -24323,6 +24590,37 @@ if ($ADD==3111) echo "
"._QXZ("Ignore List Script Override").": $NWB#inbound_groups-ignore_list_script_override$NWE
$sglinkB"._QXZ("Status Group Override")."$sglinkE: $NWB#inbound_groups-status_group_id$NWE
\n"; + ##### get status group listings for dynamic pulldown menu + $stmt="SELECT status_group_id,status_group_notes from vicidial_status_groups $whereLOGadmin_viewable_groupsSQL order by status_group_id;"; + $rslt=mysql_to_mysqli($stmt, $link); + $status_groups_to_print = mysqli_num_rows($rslt); + $status_groups_menu=''; + $status_groups_selected=0; + $o=0; + while ($status_groups_to_print > $o) + { + $rowx=mysqli_fetch_row($rslt); + $status_groups_menu .= "\n"; + $o++; + } + $sglinkB=''; $sglinkE=''; + if (strlen($status_group_id)>1) + { + $sglinkB=""; + $sglinkE=''; + } + + echo "\n"; + /* Commenting this out because it is handled by the Email Account section and is redundant here echo "\n"; echo "\n"; @@ -25838,11 +26166,9 @@ if ($ADD==3811) } - ###################### # ADD=3911 modify chat in-group info in the system ###################### - if ($ADD==3911) { if ( ($LOGmodify_ingroups==1) and ($SSallow_chats>0) ) @@ -25855,7 +26181,7 @@ if ($ADD==3911) echo "
\n"; echo ""; - $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,status_group_id from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); @@ -25219,6 +25515,7 @@ if ($ADD==3811) $dial_ingroup_cid = $row[112]; $group_handling = $row[113]; $web_form_address_three = $row[114]; + $status_group_id = $row[115]; ##### get callmenu listings for dynamic pulldown $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; @@ -25415,6 +25712,37 @@ if ($ADD==3811) } echo "$NWB#inbound_groups-group_handling$NWE
$sglinkB"._QXZ("Status Group Override")."$sglinkE: $NWB#inbound_groups-status_group_id$NWE
In-Group Call Handle Method: $NWB#inbound_dids-call_handle_method$NWE
In-Group Agent Search Method: $NWB#inbound_dids-agent_search_method$NWE
\n"; + ##### get status group listings for dynamic pulldown menu + $stmt="SELECT status_group_id,status_group_notes from vicidial_status_groups $whereLOGadmin_viewable_groupsSQL order by status_group_id;"; + $rslt=mysql_to_mysqli($stmt, $link); + $status_groups_to_print = mysqli_num_rows($rslt); + $status_groups_menu=''; + $status_groups_selected=0; + $o=0; + while ($status_groups_to_print > $o) + { + $rowx=mysqli_fetch_row($rslt); + $status_groups_menu .= "\n"; + $o++; + } + $sglinkB=''; $sglinkE=''; + if (strlen($status_group_id)>1) + { + $sglinkB=""; + $sglinkE=''; + } + + echo "\n"; + /* Commenting this out because it is handled by the Email Account section and is redundant here echo "\n"; echo "\n"; @@ -26561,7 +26919,6 @@ if ($ADD==3911) ###################### # ADD=3311 modify did info in the system ###################### - if ($ADD==3311) { if ($LOGmodify_dids==1) @@ -27022,8 +27379,6 @@ if ($ADD==3311) } - - ###################### # ADD=1320 display did remote agent extension override summary ###################### @@ -27088,12 +27443,9 @@ if ($ADD==1320) } - - ###################### # ADD=3321 modify did remote agent extension override entries in the system ###################### - if ($ADD==3321) { if ( ($LOGmodify_dids==1) and ($SSdid_ra_extensions_enabled > 0) ) @@ -27327,13 +27679,9 @@ if ($ADD==3321) } - - - ###################### # ADD=3511 modify call menu info in the system ###################### - if ($ADD==3511) { if ($LOGmodify_dids==1) @@ -27736,11 +28084,9 @@ if ($ADD==3511) } - ###################### # ADD=31111 modify remote agents info in the system ###################### - if ($ADD==31111) { if ( ($LOGmodify_remoteagents==1) and ($x_ra_carrier < 1) ) @@ -27865,7 +28211,6 @@ if ($ADD==31111) ###################### # ADD=3711 modify filter phone group info in the system ###################### - if ($ADD==3711) { if ($LOGmodify_dids==1) @@ -27929,7 +28274,6 @@ if ($ADD==3711) ###################### # ADD=32111 modify extension group entry in the system ###################### - if ($ADD==32111) { if ($LOGmodify_remoteagents==1) @@ -28004,7 +28348,6 @@ if ($ADD==32111) ###################### # ADD=311111 modify user group info in the system ###################### - if ($ADD==311111) { if ($LOGmodify_usergroups==1) @@ -28172,6 +28515,43 @@ if ($ADD==311111) } echo "$NWB#user_groups-allowed_reports$NWE\n"; + +#### JCJ - CUSTOM REPORTS SECTION + $custom_stmt="show tables like 'vicidial_custom_reports'"; + $custom_rslt=mysql_to_mysqli($custom_stmt, $link); + if (mysqli_num_rows($custom_rslt)>0) + { + + $custom_rpt_stmt="SELECT custom_report_id, report_name from vicidial_custom_reports order by report_name asc"; + $custom_rpt_rslt=mysql_to_mysqli($custom_rpt_stmt, $link); + + $allowed_rpt_stmt="SELECT allowed_custom_reports from vicidial_user_groups where user_group='$user_group'"; + $allowed_rpt_rslt=mysql_to_mysqli($allowed_rpt_stmt, $link); + + if (mysqli_num_rows($custom_rpt_rslt)>0) + { + $allowed_rpt_row=mysqli_fetch_row($allowed_rpt_rslt); + $allowed_custom_reports=$allowed_rpt_row[0]; + $allowed_reports_array=explode("|", $allowed_custom_reports); + + echo "\n"; + } +#### + + if (strlen($SSwebphone_url) > 5) { echo "\n"; @@ -28347,7 +28727,6 @@ if ($ADD==311111) ###################### # ADD=3111111 modify script info in the system ###################### - if ($ADD==3111111) { if ($LOGmodify_scripts==1) @@ -28540,7 +28919,6 @@ if ($ADD==3111111) ###################### # ADD=31111111 modify filter info in the system ###################### - if ($ADD==31111111) { if ($LOGmodify_filters==1) @@ -28656,7 +29034,6 @@ if ($ADD==31111111) ###################### # ADD=321111111 modify call time definition info in the system, ADD/REMOVE ###################### - if ($ADD==321111111) { if ($LOGmodify_call_times==1) @@ -28771,7 +29148,6 @@ if ($ADD==321111111) ###################### # ADD=322111111 modify state call time definition info in the system, ADD/REMOVE ###################### - if ($ADD==322111111) { if ($LOGmodify_call_times==1) @@ -28840,7 +29216,6 @@ if ($ADD==322111111) ###################### # ADD=311111111 modify call time definition info in the system ###################### - if ($ADD==311111111) { if ($LOGmodify_call_times==1) @@ -29084,7 +29459,6 @@ if ($ADD==311111111) ###################### # ADD=3111111111 modify state call time definition info in the system ###################### - if ($ADD==3111111111) { if ($LOGmodify_call_times==1) @@ -29242,7 +29616,6 @@ if ($ADD==3111111111) ###################### # ADD=3211111111 modify holiday definition info in the system ###################### - if ($ADD==3211111111) { if ($LOGmodify_call_times==1) @@ -29352,7 +29725,6 @@ if ($ADD==3211111111) ###################### # ADD=331111111 modify shift definition info in the system ###################### - if ($ADD==331111111) { if ( ($LOGmodify_call_times==1) or ($LOGmodify_shifts==1) ) @@ -29487,7 +29859,6 @@ if ($ADD==331111111) ###################### # ADD=31111111111 modify phone record in the system ###################### - if ($ADD==31111111111) { if ( ($LOGast_admin_access==1) or ($LOGmodify_phones==1) ) @@ -29678,7 +30049,6 @@ if ($ADD==31111111111) ###################### # ADD=32111111111 modify phone alias record in the system ###################### - if ($ADD==32111111111) { if ( ($LOGast_admin_access==1) or ($LOGmodify_phones==1) ) @@ -29759,7 +30129,6 @@ if ($ADD==32111111111) ###################### # ADD=33111111111 modify group alias record in the system ###################### - if ($ADD==33111111111) { if ( ($LOGast_admin_access==1) or ($LOGmodify_phones==1) ) @@ -29813,7 +30182,6 @@ if ($ADD==33111111111) ###################### # ADD=311111111111 modify server record in the system ###################### - if ($ADD==311111111111) { if ($LOGmodify_servers==1) @@ -30153,7 +30521,6 @@ if ($ADD==311111111111) ###################### # ADD=331111111111 modify conf template record in the system ###################### - if ($ADD==331111111111) { if ($LOGast_admin_access==1) @@ -30275,7 +30642,6 @@ if ($ADD==331111111111) ###################### # ADD=341111111111 modify carrier record in the system ###################### - if ($ADD==341111111111) { if ( ( ($LOGast_admin_access==1) or ($LOGmodify_carriers==1) ) and ($x_ra_carrier < 1) ) @@ -30369,7 +30735,6 @@ if ($ADD==341111111111) ###################### # ADD=351111111111 modify tts record in the system ###################### - if ($ADD==351111111111) { if ( ($LOGast_admin_access==1) or ($LOGmodify_tts==1) ) @@ -30433,7 +30798,6 @@ if ($ADD==351111111111) ###################### # ADD=361111111111 modify music on hold record in the system ###################### - if ($ADD==361111111111) { if ( ($LOGast_admin_access==1) or ($LOGmodify_moh==1) ) @@ -30523,7 +30887,6 @@ if ($ADD==361111111111) ###################### # ADD=371111111111 modify voicemail box in the system ###################### - if ($ADD==371111111111) { if ( ($LOGast_admin_access==1) or ($LOGmodify_voicemail==1) ) @@ -30839,9 +31202,6 @@ if ($ADD==391111111111) } - - - ###################### # ADD=392111111111 modify settings container in the system ###################### @@ -30908,10 +31268,217 @@ if ($ADD==392111111111) } +###################### +# ADD=393111111111 modify status group in the system +###################### +if ($ADD==393111111111) + { + if ( ($LOGast_admin_access==1) and ($LOGmodify_statuses==1) ) + { + if ( ($SSadmin_modify_refresh > 1) and ($modify_refresh_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=393111111111&status_group_id=$status_group_id"; + $modify_footer_refresh=1; + } + echo "
\n"; echo ""; - $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling,web_form_address_three,status_group_id from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); @@ -25965,6 +26291,7 @@ if ($ADD==3911) $dial_ingroup_cid = $row[112]; $group_handling = $row[113]; $web_form_address_three = $row[114]; + $status_group_id = $row[115]; /* ##### get callmenu listings for dynamic pulldown @@ -26166,6 +26493,37 @@ if ($ADD==3911) } echo "$NWB#inbound_groups-group_handling$NWE
$sglinkB"._QXZ("Status Group Override")."$sglinkE: $NWB#inbound_groups-status_group_id$NWE
In-Group Call Handle Method: $NWB#inbound_dids-call_handle_method$NWE
In-Group Agent Search Method: $NWB#inbound_dids-agent_search_method$NWE
"._QXZ("Allowed Custom Reports").": $NWB#user_groups-allowed_custom_reports$NWE
"._QXZ("Webphone URL Override").": $NWB#user_groups-webphone_url_override$NWE
\n"; + echo ""; + + $stmt="SELECT status_group_notes,user_group from vicidial_status_groups where status_group_id='$status_group_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + $status_group_notes = $row[0]; + $user_group = $row[1]; + + echo "
"._QXZ("MODIFY STATUS GROUP").": $tts_id
\n"; + echo "\n"; + echo "\n"; + + echo "
\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
"._QXZ("Status Group ID").": $status_group_id
"._QXZ("Status Group Notes").": $NWB#status_groups$NWE
"._QXZ("Admin User Group").": $NWB#status_groups$NWE
\n"; + + echo "
\n"; + + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc;"; + $rslt=mysql_to_mysqli($stmt, $link); + $cats_to_print = mysqli_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysqli_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec from vicidial_campaign_statuses where campaign_id='$status_group_id' $LOGadmin_viewable_groupsSQL order by status;"; + $rslt=mysql_to_mysqli($stmt, $link); + $statuses_to_print = mysqli_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysqli_fetch_row($rslt); + $AScategory = $rowx[4]; + $o++; + + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
"._QXZ("STATUS").""._QXZ("DESCRIPTION").""._QXZ("CATEGORY").""._QXZ("AGENT SELECTABLE").""._QXZ("HUMAN ANSWER").""._QXZ("SALE").""._QXZ("DNC").""._QXZ("CUSTOMER CONTACT").""._QXZ("NOT INTERESTED").""._QXZ("UNWORKABLE").""._QXZ("SCHEDULED CALLBACK").""._QXZ("COMPLETED").""._QXZ("MIN SEC").""._QXZ("MAX SEC").""._QXZ("MODIFY/DELETE")."
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo ""._QXZ("DELETE")."\n"; + } + else + { + echo ""._QXZ("DELETE")."\n"; + } + echo "
\n"; + + + echo "
"._QXZ("ADD NEW CUSTOM CAMPAIGN STATUS")."
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo _QXZ("Status").":   \n"; + echo _QXZ("Description").":   \n"; + echo _QXZ("Selectable").":   \n"; + echo _QXZ("Human Answer").":  
\n"; + echo _QXZ("Sale").":   \n"; + echo _QXZ("DNC").":   \n"; + echo _QXZ("Customer Contact").":   \n"; + echo _QXZ("Not Interested").":  
\n"; + echo _QXZ("Unworkable").":   \n"; + echo _QXZ("Callback").":   \n"; + echo _QXZ("Completed").":   \n"; + echo _QXZ("Category").": \n"; + echo "  
\n"; + echo "
\n"; + + echo "

\n"; + + + echo "


\n"; + + echo ""._QXZ("IN-GROUPS USING THIS STATUS GROUP").":
\n"; + echo "\n"; + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where status_group_id='$status_group_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_to_mysqli($stmt, $link); + $ig_to_print = mysqli_num_rows($rslt); + $o=0; + while ($ig_to_print > $o) + { + $row=mysqli_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
$row[0] $row[1]

\n"; + + echo ""._QXZ("LISTS USING THIS STATUS GROUP").":
\n"; + echo "\n"; + + $stmt="SELECT list_id,list_name from vicidial_lists where status_group_id='$status_group_id' $LOGallowed_campaignsSQL;"; + $rslt=mysql_to_mysqli($stmt, $link); + $list_to_print = mysqli_num_rows($rslt); + $o=0; + while ($list_to_print > $o) + { + $row=mysqli_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
$row[0] $row[1]

\n"; + + if ($LOGast_delete_phones > 0) + { + echo "

"._QXZ("DELETE THIS STATUS GROUP")."\n"; + } + if ( ($LOGuser_level >= 9) and ( (preg_match("/Administration Change Log/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) ) + { + echo "

"._QXZ("Click here to see Admin changes to this status group")."\n"; + } + } + else + { + echo _QXZ("You do not have permission to view this page")."\n"; + exit; + } + } + + ###################### # ADD=3111111111111 modify conference record in the system ###################### - if ($ADD==3111111111111) { if ($LOGast_admin_access==1) @@ -30962,7 +31529,6 @@ if ($ADD==3111111111111) ###################### # ADD=31111111111111 modify vicidial conference record in the system ###################### - if ($ADD==31111111111111) { if ($LOGast_admin_access==1) @@ -31010,11 +31576,9 @@ if ($ADD==31111111111111) } - ###################### # ADD=311111111111111 modify vicidial system settings ###################### - if ($ADD==311111111111111) { if ($LOGmodify_servers==1) @@ -31531,6 +32095,41 @@ if ($ADD==311111111111111) } echo "$NWB#settings-reports_use_slave_db$NWE
"._QXZ("Custom Reports to use Slave DB").": $NWB#settings-custom_reports_use_slave_db$NWE"; + echo "
"._QXZ("Custom Dialplan Entry").": $NWB#settings-custom_dialplan_entry$NWE
"._QXZ("UNWORKABLE").""._QXZ("SCHEDULED CALLBACK").""._QXZ("COMPLETED").""._QXZ("MODIFY/DELETE")."
"._QXZ("MIN SEC").""._QXZ("MAX SEC").""._QXZ("MODIFY/DELETE")."
\n"; - echo "\n"; echo "$cats_list"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "         \n"; echo "   \n"; @@ -31806,13 +32406,9 @@ if ($ADD==321111111111111) } - - - ###################### # ADD=331111111111111 modify vicidial status categories ###################### - if ($ADD==331111111111111) { if ( ($LOGmodify_servers==1) or ($LOGmodify_statuses==1) ) @@ -31960,7 +32556,6 @@ if ($ADD==241111111111111) ###################### # ADD=341111111111111 modify vicidial QC status code ###################### - if ($ADD==341111111111111) { if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) @@ -32041,7 +32636,6 @@ if ($ADD==341111111111111) ###################### # ADD=550 user search form ###################### - if ($ADD==550) { echo "
\n"; @@ -32072,10 +32666,10 @@ if ($ADD==550) echo "
\n"; } + ###################### # ADD=660 user search results ###################### - if ($ADD==660) { echo "
\n"; @@ -32152,6 +32746,7 @@ if ($ADD==8) $ADD='82'; } + ###################### # ADD=81 find all callbacks on hold within a Campaign ###################### @@ -32183,6 +32778,7 @@ if ($ADD==81) $ADD='82'; } + ###################### # ADD=811 find all callbacks on hold within a List ###################### @@ -32214,6 +32810,7 @@ if ($ADD==811) $ADD='82'; } + ###################### # ADD=8111 find all callbacks on hold within a user group ###################### @@ -32245,6 +32842,7 @@ if ($ADD==8111) $ADD='82'; } + ###################### # ADD=82 display all callbacks on hold ###################### @@ -32303,6 +32901,8 @@ if ($ADD==82) + + ###################################################################################################### ###################################################################################################### ####### 0 series, displays and searches @@ -32378,6 +32978,7 @@ if ($ADD=="0A") echo "
\n"; } + ###################### # ADD=10 display all campaigns ###################### @@ -32646,6 +33247,7 @@ if ($ADD==1000) echo "
\n"; } + ###################### # ADD=1800 display all email groups ###################### @@ -32711,6 +33313,7 @@ if ( ($ADD==1800) and ($SSallow_emails>0) ) echo "
\n"; } + ###################### # ADD=1900 display all chat groups ###################### @@ -32768,6 +33371,7 @@ if ( ($ADD==1900) and ($SSallow_chats>0) ) echo "
\n"; } + ###################### # ADD=1300 display all inbound dids ###################### @@ -33267,6 +33871,7 @@ if ($ADD==100000000) echo "
\n"; } + ###################### # ADD=1000000000 display all state call times ###################### @@ -33311,6 +33916,7 @@ if ($ADD==1000000000) echo "\n"; } + ###################### # ADD=1200000000 display all holidays ###################### @@ -33357,6 +33963,7 @@ if ($ADD==1200000000) echo "\n"; } + ###################### # ADD=130000000 display all shifts ###################### @@ -33401,6 +34008,7 @@ if ($ADD==130000000) echo "\n"; } + ###################### # ADD=10000000000 display all phones ###################### @@ -33470,6 +34078,7 @@ if ($ADD==10000000000) echo "\n"; } + ###################### # ADD=12000000000 display all phones alias ###################### @@ -33510,6 +34119,7 @@ if ($ADD==12000000000) echo "\n"; } + ###################### # ADD=13000000000 display all group alias ###################### @@ -33554,6 +34164,7 @@ if ($ADD==13000000000) echo "\n"; } + ###################### # ADD=100000000000 display all servers ###################### @@ -33602,6 +34213,7 @@ if ($ADD==100000000000) echo "\n"; } + ###################### # ADD=130000000000 display all conf templates ###################### @@ -33640,6 +34252,7 @@ if ($ADD==130000000000) echo "\n"; } + ###################### # ADD=140000000000 display all carriers ###################### @@ -33985,6 +34598,62 @@ if ($ADD==192000000000) } +###################### +# ADD=193000000000 display all status group entries +###################### +if ($ADD==193000000000) + { + echo "
\n"; + echo ""; + + $stmt="SELECT status_group_id,status_group_notes,user_group from vicidial_status_groups $whereLOGadmin_viewable_groupsSQL order by status_group_id;"; + $rslt=mysql_to_mysqli($stmt, $link); + $status_groups_to_print = mysqli_num_rows($rslt); + + echo "
"._QXZ("STATUS GROUP LISTINGS").":\n"; + echo "
\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + + $o=0; + $menu_id = $MT; + + while ($status_groups_to_print > $o) + { + $row=mysqli_fetch_row($rslt); + $status_group_id[$o] = $row[0]; + $status_group_notes[$o] = $row[1]; + $admin_group[$o] = $row[2]; + $o++; + } + + $o=0; + while ($status_groups_to_print > $o) + { + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id=\"$status_group_id[$o]\";"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
"._QXZ("STATUS GROUP ID").""._QXZ("NOTES").""._QXZ("GROUP").""._QXZ("STATUSES").""._QXZ("MODIFY")."
$status_group_id[$o] $status_group_notes[$o] $admin_group[$o] $row[0]"._QXZ("MODIFY")."
\n"; + } + + ###################### # ADD=1000000000000 display all conferences ###################### @@ -34023,6 +34692,7 @@ if ($ADD==1000000000000) echo "
\n"; } + ###################### # ADD=10000000000000 display all vicidial conferences ###################### @@ -34171,7 +34841,6 @@ if (($ADD==881) && ($qc_auth=='1')) ###################### # ADD=700000000000000 view all activity in the admin log ###################### - if ($ADD==700000000000000) { echo "
\n"; @@ -34260,7 +34929,6 @@ if ($ADD==700000000000000) ###################### # ADD=710000000000000 view all activity in the admin log made by one user ###################### - if ($ADD==710000000000000) { echo "
\n"; @@ -34348,7 +35016,6 @@ if ($ADD==710000000000000) ###################### # ADD=720000000000000 view all activity in the admin log made to one section/value ###################### - if ($ADD==720000000000000) { if ( ($LOGuser_level >= 9) and ( (preg_match("/Administration Change Log/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) ) @@ -34445,7 +35112,6 @@ if ($ADD==720000000000000) ###################### # ADD=730000000000000 detail view of one admin log entry ###################### - if ($ADD==730000000000000) { if ( ($LOGuser_level >= 9) and ( (preg_match("/Administration Change Log/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) ) @@ -34515,7 +35181,6 @@ if ($ADD==730000000000000) ###################### # ADD=800000000000000 view all activity in the admin report log ###################### - if ($ADD==800000000000000) { echo "> + >> @@ -1769,6 +1774,10 @@ if ($SSenable_languages == '1') ?> > 1) { + ?> + > + 1) and (!preg_match('/campaign/i',$hh) ) ) { ?> > diff --git a/agc_2-X/trunk/www/vicidial/help.php b/agc_2-X/trunk/www/vicidial/help.php index 3ae4e98e..6ad01573 100644 --- a/agc_2-X/trunk/www/vicidial/help.php +++ b/agc_2-X/trunk/www/vicidial/help.php @@ -63,8 +63,10 @@ # 150925-2235 - Added user_hide_realtime and user lead filter options # 150926-1058 - Added did_carrier_description # 151006-0935 - Updated campaign_cid_areacodes entry +# 151020-0704 - Added Status Groups and Custom Reports entries # + require("dbconnect_mysqli.php"); require("functions.php"); @@ -1991,6 +1993,11 @@ if ($SSqc_features_active > 0)
- +
+ +
+ - +

@@ -2210,6 +2217,11 @@ if ($SSqc_features_active > 0)
This option allows you to ignore the list ID Script Override option for calls coming into this In-Group. Setting this to Y will ignore any List ID script settings. Default is N."); ?> +
+
+
+ - +

@@ -3169,7 +3181,7 @@ if ($SSqc_features_active > 0) CAMPAIGN_STATUSES TABLE


-"; +"; @@ -3308,6 +3320,11 @@ if ($SSoutbound_autodial_active > 0)
- +
+
+
+ - +

@@ -4947,6 +4964,12 @@ FR_SPAC 00 00 00 00 00 - - + +
+
+
+ - +

@@ -5141,7 +5164,19 @@ FR_SPAC 00 00 00 00 00 - STATUSES TABLE



- + + + + + + +



+ +STATUS_GROUPS TABLE

+
+
+ + @@ -5555,6 +5590,33 @@ if ($SSqc_features_active > 0) +



+ +
+Custom Reports Admin

+
+ + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - +








diff --git a/agc_2-X/trunk/www/vicidial/vicidial_custom_reports_admin.php b/agc_2-X/trunk/www/vicidial/vicidial_custom_reports_admin.php new file mode 100644 index 00000000..17aea455 --- /dev/null +++ b/agc_2-X/trunk/www/vicidial/vicidial_custom_reports_admin.php @@ -0,0 +1,472 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 151023-0106 - First build + +$startMS = microtime(); + +require("dbconnect_mysqli.php"); +require("functions.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["report_name"])) {$report_name=$_GET["report_name"];} + elseif (isset($_POST["report_name"])) {$report_name=$_POST["report_name"];} +if (isset($_GET["domain"])) {$domain=$_GET["domain"];} + elseif (isset($_POST["domain"])) {$domain=$_POST["domain"];} +if (isset($_GET["path_name"])) {$path_name=$_GET["path_name"];} + elseif (isset($_POST["path_name"])) {$path_name=$_POST["path_name"];} +if (isset($_GET["slave"])) {$slave=$_GET["slave"];} + elseif (isset($_POST["slave"])) {$slave=$_POST["slave"];} +if (isset($_GET["custom_reports_user_groups"])) {$custom_reports_user_groups=$_GET["custom_reports_user_groups"];} + elseif (isset($_POST["custom_reports_user_groups"])) {$custom_reports_user_groups=$_POST["custom_reports_user_groups"];} +if (isset($_GET["add_custom_report"])) {$add_custom_report=$_GET["add_custom_report"];} + elseif (isset($_POST["add_custom_report"])) {$add_custom_report=$_POST["add_custom_report"];} +if (isset($_GET["delete_custom_report"])) {$delete_custom_report=$_GET["delete_custom_report"];} + elseif (isset($_POST["delete_custom_report"])) {$delete_custom_report=$_POST["delete_custom_report"];} +if (isset($_GET["update_custom_report"])) {$update_custom_report=$_GET["update_custom_report"];} + elseif (isset($_POST["update_custom_report"])) {$update_custom_report=$_POST["update_custom_report"];} +if (isset($_GET["upd_custom_report_id"])) {$upd_custom_report_id=$_GET["upd_custom_report_id"];} + elseif (isset($_POST["upd_custom_report_id"])) {$upd_custom_report_id=$_POST["upd_custom_report_id"];} +if (isset($_GET["upd_report_name"])) {$upd_report_name=$_GET["upd_report_name"];} + elseif (isset($_POST["upd_report_name"])) {$upd_report_name=$_POST["upd_report_name"];} +if (isset($_GET["upd_path_name"])) {$upd_path_name=$_GET["upd_path_name"];} + elseif (isset($_POST["upd_path_name"])) {$upd_path_name=$_POST["upd_path_name"];} +if (isset($_GET["upd_slave"])) {$upd_slave=$_GET["upd_slave"];} + elseif (isset($_POST["upd_slave"])) {$upd_slave=$_POST["upd_slave"];} +if (isset($_GET["upd_domain"])) {$upd_domain=$_GET["upd_domain"];} + elseif (isset($_POST["upd_domain"])) {$upd_domain=$_POST["upd_domain"];} +if (isset($_GET["upd_custom_reports_user_groups"])) {$upd_custom_reports_user_groups=$_GET["upd_custom_reports_user_groups"];} + elseif (isset($_POST["upd_custom_reports_user_groups"])) {$upd_custom_reports_user_groups=$_POST["upd_custom_reports_user_groups"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,custom_fields_enabled,enable_languages,language_method,active_modules FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $outbound_autodial_active = $row[1]; + $slave_db_server = $row[2]; + $reports_use_slave_db = $row[3]; + $custom_fields_enabled = $row[4]; + $SSenable_languages = $row[5]; + $SSlanguage_method = $row[6]; + $active_modules = $row[7]; + } +##### END SETTINGS LOOKUP ##### +########################################### +if ($non_latin < 1) + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); + } +else + { + $PHP_AUTH_PW = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_PW); + $PHP_AUTH_USER = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_USER); + } + +$stmt="SELECT selected_language from vicidial_users where user='$PHP_AUTH_USER';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$auth=0; +$reports_auth=0; +$admin_auth=0; +$auth_message = user_authorization($PHP_AUTH_USER,$PHP_AUTH_PW,'REPORTS',1); +if ($auth_message == 'GOOD') + {$auth=1;} + +if ($auth > 0) + { + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and user_level > 7 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + $admin_auth=$row[0]; + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + $reports_auth=$row[0]; + + if ($reports_auth < 1) + { + $VDdisplayMESSAGE = _QXZ("You are not allowed to view reports"); + Header ("Content-type: text/html; charset=utf-8"); + echo "$VDdisplayMESSAGE: |$PHP_AUTH_USER|$auth_message|\n"; + exit; + } + if ( ($reports_auth > 0) and ($admin_auth < 1) ) + { + $ADD=999999; + $reports_only_user=1; + } + } +else + { + $VDdisplayMESSAGE = _QXZ("Login incorrect, please try again"); + if ($auth_message == 'LOCK') + { + $VDdisplayMESSAGE = _QXZ("Too many login attempts, try again in 15 minutes"); + Header ("Content-type: text/html; charset=utf-8"); + echo "$VDdisplayMESSAGE: |$PHP_AUTH_USER|$auth_message|\n"; + exit; + } + Header("WWW-Authenticate: Basic realm=\"CONTACT-CENTER-ADMIN\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "$VDdisplayMESSAGE: |$PHP_AUTH_USER|$PHP_AUTH_PW|$auth_message|\n"; + exit; + } +############### +$stmt="SELECT export_reports,user_group,admin_hide_lead_data,admin_hide_phone_data,admin_cf_show_hidden from vicidial_users where user='$PHP_AUTH_USER';"; +$rslt=mysql_to_mysqli($stmt, $link); +$row=mysqli_fetch_row($rslt); +$LOGexport_reports = $row[0]; +$LOGuser_group = $row[1]; +$LOGadmin_hide_lead_data = $row[2]; +$LOGadmin_hide_phone_data = $row[3]; +$LOGadmin_cf_show_hidden = $row[4]; + + +$stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); +$row=mysqli_fetch_row($rslt); +$LOGallowed_campaigns = $row[0]; +$LOGallowed_reports = $row[1]; +$LOGadmin_viewable_groups = $row[2]; +$LOGadmin_viewable_call_times = $row[3]; + +$LOGadmin_viewable_groupsSQL=''; +$whereLOGadmin_viewable_groupsSQL=''; +if ( (!preg_match('/\-\-ALL\-\-/i',$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + + $allowedUGarray=explode(" ", $rawLOGadmin_viewable_groupsSQL); + if (in_array('---ALL---',$custom_reports_user_groups)) + { + $custom_reports_user_groups=$allowedUGarray; + } + } + +# Need to do this just in case +if (preg_match('/\-\-ALL\-\-/i',$LOGadmin_viewable_groups)) { + + $all_user_groups_stmt="select user_group from vicidial_user_groups"; + $all_user_groups_rslt=mysql_to_mysqli($all_user_groups_stmt, $link); + + $allowedUGarray=array(); + while ($user_group_row=mysqli_fetch_row($all_user_groups_rslt)) + { + array_push($allowedUGarray, $user_group_row[0]); + } + + if (in_array('---ALL---',$custom_reports_user_groups)) + { + $custom_reports_user_groups=$allowedUGarray; + } +} + +# From system settings +$Vreports = array("Real-Time Main Report", " Real-Time Campaign Summary", " Inbound Report", " Inbound Service Level Report", " Inbound Summary Hourly Report", " Inbound Daily Report", " Inbound DID Report", " Inbound IVR Report", " Outbound Calling Report", " Outbound Summary Interval Report", " Outbound IVR Report", " Fronter - Closer Report", " Lists Campaign Statuses Report", " Campaign Status List Report", " Export Calls Report", " Export Leads Report", " Agent Time Detail", " Agent Status Detail", " Agent Performance Detail", " Team Performance Detail", " Performance Comparison Report", " Single Agent Daily", " Single Agent Daily Time", " User Group Login Report", " User Timeclock Report", " User Group Timeclock Status Report", " User Timeclock Detail Report", " Server Performance Report", " Administration Change Log", " List Update Stats", " User Stats", " User Time Sheet", " Download List", " Dialer Inventory Report", " Maximum System Stats", " Maximum Stats Detail", " Search Leads Logs", " Email Log Report", " Carrier Log Report", " Campaign Debug", " Hangup Cause Report", " Lists Pass Report", " Called Counts List IDs Report"); + + +if ($add_custom_report=="ADD REPORT") { + if (!$report_name || !$path_name) { + $error_msg="
"._QXZ("CANNOT ADD REPORT, SOME FIELDS ARE MISSING")."
"; + } else { + if (in_array($report_name, $Vreports)) { + $error_msg="
"._QXZ("CANNOT ADD REPORT, REPORT NAME ALREADY IN USE FOR STANDARD VICIDIAL REPORT")."
"; + } else { + $ins_stmt="insert into vicidial_custom_reports(report_name, date_added, user, domain, path_name) VALUES('$report_name', now(), '$PHP_AUTH_USER', '$domain', '$path_name')"; + $ins_rslt=mysql_to_mysqli($ins_stmt, $link); + if (mysqli_affected_rows($link)<1) { + $error_msg="
"._QXZ("INSERT FAILED")."
"; + } else { + $user_group_stmt="select user_group, allowed_custom_reports from vicidial_user_groups where user_group in ('".implode("','", $custom_reports_user_groups)."') $LOGadmin_viewable_groupsSQL"; + # echo $user_group_stmt."
\n"; + $user_group_rslt=mysql_to_mysqli($user_group_stmt, $link); + while ($user_group_row=mysqli_fetch_array($user_group_rslt)) { + $user_group=$user_group_row["user_group"]; + $allowed_custom_reports=$user_group_row["allowed_custom_reports"]; + if (!preg_match('/^$report_name\||\|$report_name\|/i', $allowed_custom_reports)) { + $allowed_custom_reports=$allowed_custom_reports."$report_name|"; + $upd_stmt="update vicidial_user_groups set allowed_custom_reports='$allowed_custom_reports' where user_group='$user_group'"; + # echo $upd_stmt."
\n"; + $upd_rslt=mysql_to_mysqli($upd_stmt, $link); + } + } + } + } + } +} else if ($upd_custom_report_id) { + if (preg_match('/\-\-ALL\-\-/i',$upd_custom_reports_user_groups)) { + $update_UG_array=$allowedUGarray; # All allowed user groups for user + } else { + $update_UG_array=explode("|", $upd_custom_reports_user_groups); + } + + if (!$upd_report_name || !$upd_path_name) { + $error_msg="
"._QXZ("CANNOT UPDATE REPORT, SOME FIELDS ARE MISSING")."
"; + } else { + if (in_array($upd_report_name, $Vreports)) { + $error_msg="
"._QXZ("CANNOT UPDATE REPORT, NEW CUSTOM REPORT NAME ALREADY IN USE FOR STANDARD VICIDIAL REPORT")."
"; + } else { + $old_rpt_stmt="select report_name from vicidial_custom_reports from vicidial_custom_reports where custom_report_id='$upd_custom_report_id'"; + $old_rpt_rslt=mysql_to_mysqli($old_rpt_stmt, $link); + $old_rpt_row=mysqli_fetch_row($old_rpt_rslt); + $old_rpt_name=$old_rpt_row[0]; + + $upd_stmt="update vicidial_custom_reports set report_name='$upd_report_name', date_added=now(), user='$PHP_AUTH_USER', domain='$upd_domain', path_name='$upd_path_name' where custom_report_id='$upd_custom_report_id'"; + $upd_rslt=mysql_to_mysqli($upd_stmt, $link); + if (mysqli_affected_rows($link)<1) { + $error_msg="
"._QXZ("UPDATE FAILED")."
"; + } else { + $user_group_stmt="select user_group, allowed_custom_reports from vicidial_user_groups $whereLOGadmin_viewable_groupsSQL"; + $user_group_rslt=mysql_to_mysqli($user_group_stmt, $link); + while ($user_group_row=mysqli_fetch_array($user_group_rslt)) { + $user_group=$user_group_row["user_group"]; + $allowed_custom_reports=$user_group_row["allowed_custom_reports"]; + + if (in_array($user_group, $update_UG_array)) { + if (!preg_match("/^$upd_report_name\||\|$upd_report_name\|/i", $allowed_custom_reports)) { + $allowed_custom_reports=$allowed_custom_reports."$upd_report_name|"; + $upd_stmt="update vicidial_user_groups set allowed_custom_reports='$allowed_custom_reports' where user_group='$user_group'"; + $upd_rslt=mysql_to_mysqli($upd_stmt, $link); + } + } else { + if (preg_match("/^$upd_report_name\||\|$upd_report_name\|/i", $allowed_custom_reports)) { + $allowed_custom_reports=preg_replace("/^$upd_report_name\||\|$upd_report_name\|/i", '', $allowed_custom_reports); + $upd_stmt="update vicidial_user_groups set allowed_custom_reports='$allowed_custom_reports' where user_group='$user_group'"; + $upd_rslt=mysql_to_mysqli($upd_stmt, $link); + } + } + } + } + } + } +} else if ($delete_custom_report) { + $old_rpt_stmt="select report_name from vicidial_custom_reports from vicidial_custom_reports where custom_report_id='$upd_custom_report_id'"; + $old_rpt_rslt=mysql_to_mysqli($old_rpt_stmt, $link); + $old_rpt_row=mysqli_fetch_row($old_rpt_rslt); + $old_rpt_name=$old_rpt_row[0]; + + $del_stmt="delete from vicidial_custom_reports where custom_report_id='$delete_custom_report'"; + $del_rslt=mysql_to_mysqli($del_stmt, $link); + if (mysqli_affected_rows($link)<1) { + $error_msg="
"._QXZ("DELETE FAILED")."
"; + } else { + $user_group_stmt="select user_group, allowed_custom_reports from vicidial_user_groups $whereLOGadmin_viewable_groupsSQL"; + $user_group_rslt=mysql_to_mysqli($user_group_stmt, $link); + while ($user_group_row=mysqli_fetch_array($user_group_rslt)) { + $user_group=$user_group_row["user_group"]; + $allowed_custom_reports=$user_group_row["allowed_custom_reports"]; + $old_report_removed=preg_replace("/^$old_rpt_name\||\|$old_rpt_name\|/i", $allowed_custom_reports); + $upd_stmt="update vicidial_user_groups set allowed_custom_reports='$old_report_removed' where user_group='$user_group'"; + # echo $upd_stmt." - $allowed_custom_reports
\n"; + $upd_rslt=mysql_to_mysqli($upd_stmt, $link); + } + } +} + + +$NWB = "  
\"HELP\""; + + echo "\n"; + +?> + +\n"; + + echo "\n"; + echo ""._QXZ("ADMINISTRATION").": "._QXZ("Custom Reports"); + if ($ivr_export == 'YES') + {echo " "._QXZ("IVR");} + + ##### BEGIN Set variables to make header show properly ##### + $ADD = '100'; + $hh = 'lists'; + $LOGast_admin_access = '1'; + $SSoutbound_autodial_active = '1'; + $ADMIN = 'admin.php'; + $page_width='770'; + $section_width='750'; + $header_font_size='3'; + $subheader_font_size='2'; + $subcamp_font_size='2'; + $header_selected_bold='<b>'; + $header_nonselected_bold=''; + $lists_color = '#FFFF99'; + $lists_font = 'BLACK'; + $lists_color = '#E6E6E6'; + $subcamp_color = '#C6C6C6'; + ##### END Set variables to make header show properly ##### + + require("admin_header.php"); + + + echo "<CENTER><BR>\n"; + echo "<FONT SIZE=3 FACE=\"Arial,Helvetica\"><B>"._QXZ("Vicidial Custom Reports"); + echo "</B></FONT><BR>\n"; + + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + + echo "$error_msg"; + + echo "<br><B>"._QXZ("ADD A NEW CUSTOM REPORT")."</B><form action=$PHP_SELF method=GET>\n"; + + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Report Name").": </td><td align=left><input type=text name=report_name size=20 maxlength=100>$NWB#custom_reports_admin-report_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Domain").": </td><td align=left><input type=text name=domain size=20 maxlength=70> (leave blank if on same server as dialer admin)$NWB#custom_reports_admin-domain$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Path Name").": </td><td align=left><input type=text name=path_name size=20 maxlength=100>$NWB#custom_reports_admin-path_name$NWE</td></tr>\n"; + # echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("Use slave").": </td><td align=left><select size=1 name=slave><option value='Y'>"._QXZ("Y")."</option><option value='N' selected>"._QXZ("N")."</option></select>$NWB#custom_reports_admin-use_slave$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>"._QXZ("User groups").": </td><td align=left><select size=5 name=custom_reports_user_groups[] multiple><option value='---ALL---'>"._QXZ("ALL USER GROUPS")."</option>"; + + $stmt="SELECT user_group,group_name from vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_to_mysqli($stmt, $link); + $usergroups_to_print = mysqli_num_rows($rslt); + $i=0; + while ($i<$usergroups_to_print) { + $ug_row=mysqli_fetch_row($rslt); + echo "<option value='$ug_row[0]'>$ug_row[1]</option>"; + $i++; + } + + echo "</select>$NWB#custom_reports_admin-custom_reports_user_groups$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align='center' colspan='2'><input type='submit' name='add_custom_report' id='add_custom_report' value='"._QXZ("ADD REPORT")."'></td></tr>\n"; + echo "</table>"; + echo "</form>"; + + echo "<BR><BR><BR>"; + + + $rpt_stmt="select * from vicidial_custom_reports"; + $rpt_rslt=mysql_to_mysqli($rpt_stmt, $link); + echo "<form action=$PHP_SELF method=GET id='updateForm'>"; + + if (mysqli_num_rows($rpt_rslt)>0) { + echo "<br><B>"._QXZ("UPDATE EXISTING CUSTOM REPORTS")."</B>\n"; + echo "<center><TABLE width=$section_width cellpadding=3>\n"; + + echo "<tr bgcolor='#000000'>"; + echo "<td><font size=1 color=white align=left>"._QXZ("REPORT NAME")."</font></td>"; + echo "<td><font size=1 color=white align=left>"._QXZ("DOMAIN")."</font></td>"; + echo "<td><font size=1 color=white align=left>"._QXZ("PATH NAME")."</font></td>"; + echo "<td> </td>"; + # echo "<td><font size=1 color=white align=left>"._QXZ("SLAVE")."</font></td>"; + echo "<td><font size=1 color=white align=left>"._QXZ("USER GROUPS")."</font></td>"; + echo "<td> </td>"; + echo "</tr>"; + + while($rpt_row=mysqli_fetch_array($rpt_rslt)) { + $id=$rpt_row["custom_report_id"]; + $current_rpt_name=$rpt_row["report_name"]; + + if ($bgcolor=="#ccffff") {$bgcolor="#99ffcc";} else {$bgcolor="#ccffff";} + echo "<tr bgcolor='".$bgcolor."'>"; + + $UGarray=array(); + $UGstmt="select user_group from vicidial_user_groups where allowed_custom_reports like '%$current_rpt_name%' $LOGadmin_viewable_groupsSQL"; + $UGrslt=mysql_to_mysqli($UGstmt, $link); + while($UGrow=mysqli_fetch_row($UGrslt)) { + array_push($UGarray, $UGrow[0]); + } + + + echo "<td align=left><input type=text id=report_name".$id." name=report_name".$id." size=20 maxlength=100 value='".$rpt_row["report_name"]."'></td>\n"; + echo "<td align=left><input type=text id=domain".$id." name=domain".$id." size=20 maxlength=70 value='".$rpt_row["domain"]."'></td>\n"; + echo "<td align=left><input type=text id=path_name".$id." name=path_name".$id." size=20 maxlength=100 value='".$rpt_row["path_name"]."'></td>\n"; + echo "<td align=center nowrap><a href='".$rpt_row["domain"].$rpt_row["path_name"]."' target='_blank'>TEST LINK</a></td>"; + # echo "<td align=left><select size=1 id=slave".$id." name=slave".$id."><option value='Y'>"._QXZ("Y")."</option><option value='N'>"._QXZ("N")."</option><option value='".$rpt_row["use_slave_server"]."' selected>"._QXZ($rpt_row["use_slave_server"])."</option></select></td>\n"; + echo "<td align=left><select size=5 id=custom_reports_user_groups".$id." name=custom_reports_user_groups".$id." multiple><option value='---ALL---'>"._QXZ("ALL USER GROUPS")."</option>"; + + $stmt="SELECT user_group,group_name from vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_to_mysqli($stmt, $link); + $usergroups_to_print = mysqli_num_rows($rslt); + $i=0; + while ($i<$usergroups_to_print) { + $ug_row=mysqli_fetch_row($rslt); + if (in_array("$ug_row[0]", $UGarray)) {$x="selected";} else {$x="";} + echo "<option value='$ug_row[0]' $x>$ug_row[1]</option>"; + $i++; + } + echo "<td align='center'><input type='button' value='"._QXZ("UPDATE")."' onClick=\"SubmitIDValues($id)\"><BR><BR><a href='vicidial_custom_reports_admin.php?delete_custom_report=".$id."'>"._QXZ("DELETE")."</a></td>"; + echo "</tr>\n"; + + } + } + echo "</table>"; + echo "<input type=hidden name='upd_custom_report_id' id='upd_custom_report_id'>"; + echo "<input type=hidden name='upd_report_name' id='upd_report_name'>"; + echo "<input type=hidden name='upd_domain' id='upd_domain'>"; + # echo "<input type=hidden name='upd_slave' id='upd_slave'>"; + echo "<input type=hidden name='upd_path_name' id='upd_path_name'>"; + echo "<input type=hidden name='upd_custom_reports_user_groups' id='upd_custom_reports_user_groups'>"; + echo "</form>"; + + echo "</TD></TR></TABLE>\n"; + echo "</BODY></HTML>"; +?> + + diff --git a/agc_2-X/trunk/www/vicidial/vicidial_stylesheet.css b/agc_2-X/trunk/www/vicidial/vicidial_stylesheet.css index c4f51eeb..9a46e140 100644 --- a/agc_2-X/trunk/www/vicidial/vicidial_stylesheet.css +++ b/agc_2-X/trunk/www/vicidial/vicidial_stylesheet.css @@ -72,3 +72,8 @@ textarea.chat_box { padding: 2px; border: solid 1px #000066; } +.cust_form { + font-family: Sans-Serif; + font-size: 10px; + overflow: hidden; +}
\n"; @@ -34585,7 +35250,6 @@ if ($ADD==800000000000000) ###################### # ADD=810000000000000 view all activity in the report log made by one user ###################### - if ($ADD==810000000000000) { echo "
\n"; @@ -34652,7 +35316,6 @@ if ($ADD==810000000000000) ###################### # ADD=830000000000000 detail view of one report log entry ###################### - if ($ADD==830000000000000) { if ($LOGuser_level >= 9) @@ -34913,6 +35576,39 @@ if ($ADD==999999) } echo "\n"; + + $custom_stmt="show tables like 'vicidial_custom_reports'"; + $custom_rslt=mysql_to_mysqli($custom_stmt, $link); + if (mysqli_num_rows($custom_rslt)>0) + { + $allowed_rpt_stmt="SELECT allowed_custom_reports from vicidial_user_groups where user_group='$LOGuser_group' and allowed_custom_reports!=''"; + $allowed_rpt_rslt=mysql_to_mysqli($allowed_rpt_stmt, $link); + if (mysqli_num_rows($allowed_rpt_rslt)>0) + { + $allowed_rpt_row=mysqli_fetch_row($allowed_rpt_rslt); + $allowed_custom_reports=$allowed_rpt_row[0]; + $allowed_reports_array=explode("|", $allowed_custom_reports); + if (count($allowed_reports_array)>0) + { + echo "
\n"; + echo ""._QXZ("Custom Reports")."
\n"; + echo "
    \n"; + $report_links_stmt="SELECT report_name, domain, path_name from vicidial_custom_reports where report_name in ('".implode("','", $allowed_reports_array)."')"; + $report_links_rslt=mysql_to_mysqli($report_links_stmt, $link); + while ($report_links_row=mysqli_fetch_array($report_links_rslt)) + { + $domain=$report_links_row["domain"]; + $path_name=$report_links_row["path_name"]; + + $report_name=$report_links_row["report_name"]; + echo "
  • "._QXZ("$report_name")."\n"; + } + echo "
\n"; + } + } + } +#### + echo "
\n"; if ( (file_exists('custom_report_links.html')) and ( (preg_match("/Custom Reports Links/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) ) @@ -35104,6 +35800,7 @@ if ($ADD==999998) echo "
  • "._QXZ("System Settings")." \n"; echo "
  • "._QXZ("Agent Screen Labels")." \n"; echo "
  • "._QXZ("System Statuses")." \n"; + echo "
  • "._QXZ("Status Groups")." \n"; echo "
  • "._QXZ("Voicemail")." \n"; if ($SSemail_enabled > 0) @@ -35409,6 +36106,7 @@ if ($ADD==999994) echo "
  • "._QXZ("Basic Lead Management Tools")." | "._QXZ("Advanced Lead Management Tools")." | "._QXZ("List Split")."\n"; echo "
  • "._QXZ("Reset Campaign Lists")."\n"; echo "
  • "._QXZ("Callbacks Transferral Page")." | "._QXZ("Callbacks Bulk Move")."\n"; + echo "
  • "._QXZ("Custom Reports Admin Page")."\n"; echo "
  • "._QXZ("Send a Call With Custom CID Page")."\n"; echo "
  • "._QXZ("Speech Voice Lab Page")."\n"; echo "
  • "._QXZ("Webphone Only Page")."\n"; @@ -35664,35 +36362,35 @@ if ($ADD==999990) } } - $active_stmt="select active from vicidial_users"; + $active_stmt="SELECT active from vicidial_users"; $active_rslt=mysql_to_mysqli($active_stmt, $link); while ($active_row=mysqli_fetch_array($active_rslt)) { $users[$active_row["active"]]++; } - $active_stmt="select active from vicidial_campaigns"; + $active_stmt="SELECT active from vicidial_campaigns"; $active_rslt=mysql_to_mysqli($active_stmt, $link); while ($active_row=mysqli_fetch_array($active_rslt)) { $campaigns[$active_row["active"]]++; } - $active_stmt="select active from vicidial_lists"; + $active_stmt="SELECT active from vicidial_lists"; $active_rslt=mysql_to_mysqli($active_stmt, $link); while ($active_row=mysqli_fetch_array($active_rslt)) { $lists[$active_row["active"]]++; } - $active_stmt="select did_active from vicidial_inbound_dids"; + $active_stmt="SELECT did_active from vicidial_inbound_dids"; $active_rslt=mysql_to_mysqli($active_stmt, $link); while ($active_row=mysqli_fetch_array($active_rslt)) { $dids[$active_row["did_active"]]++; } - $active_stmt="select active from vicidial_inbound_groups"; + $active_stmt="SELECT active from vicidial_inbound_groups"; $active_rslt=mysql_to_mysqli($active_stmt, $link); while ($active_row=mysqli_fetch_array($active_rslt)) { diff --git a/agc_2-X/trunk/www/vicidial/admin_header.php b/agc_2-X/trunk/www/vicidial/admin_header.php index ec1934ea..9af50c37 100644 --- a/agc_2-X/trunk/www/vicidial/admin_header.php +++ b/agc_2-X/trunk/www/vicidial/admin_header.php @@ -53,6 +53,7 @@ # 150307-0915 - Fixes for QXZ # 150806-1023 - Added code for Admin -> Settings Containers # 150808-2043 - Added compatibility for custom fields data option +# 151020-0654 - Added Status Groups # @@ -1515,6 +1516,8 @@ $SSenable_languages = $row[7]; else {$cts_sh=''; $cts_fc='BLACK';} if ($sh=='sc') {$sc_sh="bgcolor=\"$sc_color\""; $sc_fc="$cc_font";} else {$sc_sh=''; $sc_fc='BLACK';} + if ($sh=='sg') {$sg_sh="bgcolor=\"$sg_color\""; $sg_fc="$cc_font";} + else {$sg_sh=''; $sg_fc='BLACK';} if ($sh=='emails') {$emails_sh="bgcolor=\"$subcamp_color\""; $emails_fc="$subcamp_font";} else {$emails_sh=''; $emails_fc='BLACK';} @@ -1541,6 +1544,8 @@ $SSenable_languages = $row[7]; SIZE=>
  • >   SIZE=>
    >   + SIZE=>
    >   SIZE=>
      >   |   >
      >   |   >
      >   |   >   |   >