diff --git a/UPGRADE b/UPGRADE index ca5799cc..ee7ea57d 100644 --- a/UPGRADE +++ b/UPGRADE @@ -403,6 +403,12 @@ OTHER CHANGES: of NOAUDIODATA answered calls and more AMD stats gathering. Also added an AMD Log Report to the Admin Utilities page. +113. Added Admin User Redirect URL settings, which allows you to define a web + address that a user is to be sent to when they log in to the admin web + screen. This is usually used for level 7 report only users to send them + to one specific report when they log in without seeing the admin web + screen at all. Must be enabled in System Settings. + diff --git a/extras/MySQL_AST_CREATE_tables.sql b/extras/MySQL_AST_CREATE_tables.sql index 7950027b..ce4cd18b 100644 --- a/extras/MySQL_AST_CREATE_tables.sql +++ b/extras/MySQL_AST_CREATE_tables.sql @@ -672,7 +672,8 @@ max_hopper_calls SMALLINT(5) UNSIGNED default '0', max_hopper_calls_hour SMALLINT(5) UNSIGNED default '0', mute_recordings ENUM('DISABLED','Y','N') default 'DISABLED', hide_call_log_info ENUM('DISABLED','Y','N','SHOW_1','SHOW_2','SHOW_3','SHOW_4','SHOW_5','SHOW_6','SHOW_7','SHOW_8','SHOW_9','SHOW_10') default 'DISABLED', -next_dial_my_callbacks ENUM('NOT_ACTIVE','DISABLED','ENABLED') default 'NOT_ACTIVE' +next_dial_my_callbacks ENUM('NOT_ACTIVE','DISABLED','ENABLED') default 'NOT_ACTIVE', +user_admin_redirect_url TEXT ) ENGINE=MyISAM; CREATE UNIQUE INDEX user ON vicidial_users (user); @@ -1811,7 +1812,8 @@ source_id_display ENUM('0','1') default '0', help_modification_date VARCHAR(20) default '0', agent_logout_link ENUM('0','1','2','3','4') default '1', manual_dial_validation ENUM('0','1','2','3','4') default '0', -mute_recordings ENUM('1','0') default '0' +mute_recordings ENUM('1','0') default '0', +user_admin_redirect ENUM('1','0') default '0' ) ENGINE=MyISAM; CREATE TABLE vicidial_campaigns_list_mix ( @@ -4346,4 +4348,4 @@ INSERT INTO vicidial_settings_containers(container_id,container_notes,container_ UPDATE system_settings set vdc_agent_api_active='1'; -UPDATE system_settings SET db_schema_version='1568',db_schema_update_date=NOW(),reload_timestamp=NOW(); +UPDATE system_settings SET db_schema_version='1569',db_schema_update_date=NOW(),reload_timestamp=NOW(); diff --git a/extras/upgrade_2.14.sql b/extras/upgrade_2.14.sql index f95a195c..14aa5834 100644 --- a/extras/upgrade_2.14.sql +++ b/extras/upgrade_2.14.sql @@ -843,3 +843,9 @@ UPDATE system_settings SET db_schema_version='1567',db_schema_update_date=NOW() ALTER TABLE vicidial_users ADD next_dial_my_callbacks ENUM('NOT_ACTIVE','DISABLED','ENABLED') default 'NOT_ACTIVE'; UPDATE system_settings SET db_schema_version='1568',db_schema_update_date=NOW() where db_schema_version < 1568; + +ALTER TABLE system_settings ADD user_admin_redirect ENUM('1','0') default '0'; + +ALTER TABLE vicidial_users ADD user_admin_redirect_url TEXT; + +UPDATE system_settings SET db_schema_version='1569',db_schema_update_date=NOW() where db_schema_version < 1569; diff --git a/www/vicidial/admin.php b/www/vicidial/admin.php index 95448857..6a43ed31 100644 --- a/www/vicidial/admin.php +++ b/www/vicidial/admin.php @@ -2423,6 +2423,10 @@ if (isset($_GET["place_in_line_you_next_filename"])) {$place_in_line_you_next_ elseif (isset($_POST["place_in_line_you_next_filename"])) {$place_in_line_you_next_filename=$_POST["place_in_line_you_next_filename"];} if (isset($_GET["mute_recordings"])) {$mute_recordings=$_GET["mute_recordings"];} elseif (isset($_POST["mute_recordings"])) {$mute_recordings=$_POST["mute_recordings"];} +if (isset($_GET["user_admin_redirect"])) {$user_admin_redirect=$_GET["user_admin_redirect"];} + elseif (isset($_POST["user_admin_redirect"])) {$user_admin_redirect=$_POST["user_admin_redirect"];} +if (isset($_GET["user_admin_redirect_url"])) {$user_admin_redirect_url=$_GET["user_admin_redirect_url"];} + elseif (isset($_POST["user_admin_redirect_url"])) {$user_admin_redirect_url=$_POST["user_admin_redirect_url"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} @@ -2437,7 +2441,7 @@ if (strlen($dial_status) > 0) ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add,pass_key,pass_hash_enabled,disable_auto_dial,country_code_list_stats,frozen_server_call_clear,active_modules,allow_chats,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_did_entry_list_id,enable_third_webform,default_language,user_hide_realtime_enabled,log_recording_access,alt_ivr_logging,admin_row_click,admin_screen_colors,ofcom_uk_drop_calc,agent_screen_colors,script_remove_js,manual_auto_next,user_new_lead_limit,agent_xfer_park_3way,agent_soundboards,web_loader_phone_length,agent_script,enable_auto_reports,enable_pause_code_limits,enable_drop_lists,allow_ip_lists,system_ip_blacklist,hide_inactive_lists,allow_manage_active_lists,expired_lists_inactive,did_system_filter,enable_gdpr_download_deletion,mute_recordings FROM system_settings;"; +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add,pass_key,pass_hash_enabled,disable_auto_dial,country_code_list_stats,frozen_server_call_clear,active_modules,allow_chats,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_did_entry_list_id,enable_third_webform,default_language,user_hide_realtime_enabled,log_recording_access,alt_ivr_logging,admin_row_click,admin_screen_colors,ofcom_uk_drop_calc,agent_screen_colors,script_remove_js,manual_auto_next,user_new_lead_limit,agent_xfer_park_3way,agent_soundboards,web_loader_phone_length,agent_script,enable_auto_reports,enable_pause_code_limits,enable_drop_lists,allow_ip_lists,system_ip_blacklist,hide_inactive_lists,allow_manage_active_lists,expired_lists_inactive,did_system_filter,enable_gdpr_download_deletion,mute_recordings,user_admin_redirect FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); @@ -2520,6 +2524,7 @@ if ($qm_conf_ct > 0) $SSdid_system_filter = $row[73]; $SSenable_gdpr_download_deletion = $row[74]; $SSmute_recordings = $row[75]; + $SSuser_admin_redirect = $row[76]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -2851,6 +2856,7 @@ if ($non_latin < 1) $max_hopper_calls = preg_replace('/[^0-9]/','',$max_hopper_calls); $max_hopper_calls_hour = preg_replace('/[^0-9]/','',$max_hopper_calls_hour); $agent_logout_link = preg_replace('/[^0-9]/','',$agent_logout_link); + $user_admin_redirect = preg_replace('/[^0-9]/','',$user_admin_redirect); $user_new_lead_limit = preg_replace('/[^-0-9]/','',$user_new_lead_limit); $drop_call_seconds = preg_replace('/[^-0-9]/','',$drop_call_seconds); @@ -3744,6 +3750,7 @@ if ($non_latin < 1) # $webphone_layout # $enter_ingroup_url # $dead_trigger_url + # $user_admin_redirect_url ### VARIABLES optionally filtered: ### # $script_text @@ -4487,12 +4494,13 @@ else # 190327-2311 - Added READ_ONLY settings container type # 190329-1909 - Added AMD Log Report # 190406-1437 - Added user override option for next_dial_my_callbacks +# 190414-0924 - Added user_admin_redirect system setting and user option # # 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.14-707a'; -$build = '190406-1437'; +$admin_version = '2.14-708a'; +$build = '190414-0924'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -4538,7 +4546,7 @@ $dtmf[18]='INVALID'; $dtmf_key[18]='INVALID'; $dtmf[19]='INVALID_2ND'; $dtmf_key[19]='INVALID_2ND'; $dtmf[20]='INVALID_3RD'; $dtmf_key[20]='INVALID_3RD'; -$stmt="SELECT selected_language from vicidial_users where user='$PHP_AUTH_USER';"; +$stmt="SELECT selected_language,user_admin_redirect_url 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); @@ -4546,6 +4554,7 @@ if ($sl_ct > 0) { $row=mysqli_fetch_row($rslt); $VUselected_language = $row[0]; + $VUuser_admin_redirect_url = $row[1]; } if ($force_logout) @@ -4638,6 +4647,17 @@ if ($user_auth > 0) echo "$VDdisplayMESSAGE: |$PHP_AUTH_USER|$auth_message|\n"; exit; } + if ( (strlen($VUuser_admin_redirect_url) > 5) and ($SSuser_admin_redirect > 0) ) + { + Header('Location: '.$VUuser_admin_redirect_url); + echo"
\n";
echo "";
- $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts,failed_login_count,last_login_date,last_ip,alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages,selected_language,user_choose_language,ignore_group_on_search,api_list_restrict,api_allowed_functions,lead_filter_id,agentcall_chat,admin_cf_show_hidden,user_hide_realtime,access_recordings,modify_colors,user_nickname,user_new_lead_limit,api_only_user,modify_auto_reports,modify_ip_lists,ignore_ip_list,ready_max_logout,export_gdpr_leads,pause_code_approval,max_hopper_calls,max_hopper_calls_hour,mute_recordings,hide_call_log_info,next_dial_my_callbacks from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;";
+ $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts,failed_login_count,last_login_date,last_ip,alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages,selected_language,user_choose_language,ignore_group_on_search,api_list_restrict,api_allowed_functions,lead_filter_id,agentcall_chat,admin_cf_show_hidden,user_hide_realtime,access_recordings,modify_colors,user_nickname,user_new_lead_limit,api_only_user,modify_auto_reports,modify_ip_lists,ignore_ip_list,ready_max_logout,export_gdpr_leads,pause_code_approval,max_hopper_calls,max_hopper_calls_hour,mute_recordings,hide_call_log_info,next_dial_my_callbacks,user_admin_redirect_url from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;";
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
$user_id = $row[0];
@@ -21344,6 +21364,7 @@ if ($ADD==3)
$mute_recordings = $row[130];
$hide_call_log_info = $row[131];
$next_dial_my_callbacks=$row[132];
+ $user_admin_redirect_url=$row[133];
if ( ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) or ( ($LOGmodify_same_user_level < 1) and ($LOGuser_level > 8) and ($user_level > 8) ) )
{
@@ -21680,6 +21701,14 @@ if ($ADD==3)
echo "| "._QXZ("Search Lead Ignore Group Restrictions").": | $ignore_group_on_search $NWB#users-ignore_group_on_search$NWE | "._QXZ("User Admin Redirect URL").": | $NWB#users-user_admin_redirect_url$NWE | "._QXZ("ADMIN INTERFACE OPTIONS").": | "._QXZ("Admin Modify Auto-Refresh").": | $NWB#settings-admin_modify_refresh$NWE | "._QXZ("Admin No-Cache").": | $NWB#settings-nocache_admin$NWE | "._QXZ("Admin Row Click").": | $NWB#settings-admin_row_click$NWE | "._QXZ("Admin User Redirect").": | $NWB#settings-user_admin_redirect$NWE | "._QXZ("Enable Agent Transfer Logfile").": | $NWB#settings-enable_agc_xfer_log$NWE | "._QXZ("Enable Agent Disposition Logfile").": | $NWB#settings-enable_agc_dispo_log$NWE | "._QXZ("Timeclock End Of Day").": | $NWB#settings-timeclock_end_of_day$NWE | | |||