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=>
      >   |   >
      >   |   >
      >   |   >   |   >