';
\CookieAdmin\Admin::footer_theme();
}
static function save_settings(){
global $cookieadmin_lang, $cookieadmin_error, $cookieadmin_msg, $cookieadmin_settings, $cookieadmin_policies;
// debug_print_backtrace();die;
check_admin_referer('cookieadmin_admin_nonce', 'cookieadmin_security');
if(!current_user_can('administrator')){
wp_send_json_error(array('message' => __('Sorry, but you do not have permissions to perform this action', 'cookieadmin')));
}
$cookieadmin_settings = get_option('cookieadmin_settings', []);
// Save cookieadmin_settings only on settings page
$cookieadmin_settings['block_scripts'] = !empty($_REQUEST['cookieadmin_block_scripts']);
$cookieadmin_settings['google_consent_mode_v2'] = (isset( $_REQUEST['cookieadmin_google_consent_mode_v2'] ) ? 1 : 0);
$cookieadmin_settings['hide_powered_by'] = (isset( $_REQUEST['cookieadmin_hide_powered_by'] ) ? 1 : 0);
$cookieadmin_settings['hide_reconsent'] = (isset( $_REQUEST['cookieadmin_hide_reconsent'] ) ? 1 : 0);
$cookieadmin_settings['cookieadmin_auto_scan'] = (isset( $_REQUEST['cookieadmin_auto_scan'] ) ? 1 : 0);
$cookieadmin_settings['consent_logs_expiry'] = (isset( $_REQUEST['cookieadmin_consent_logs_expiry'] ) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_consent_logs_expiry'])) : 0);
$cookieadmin_settings['consent_logs_expiry_days'] = (isset( $_REQUEST['cookieadmin_consent_logs_expiry_days'] ) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_consent_logs_expiry_days'])) : 365);
$cookieadmin_settings['clarity_consent'] = !empty($_REQUEST['cookieadmin_clarity_consent']);
$cookieadmin_settings['shared_subdomain_consent'] = !empty($_REQUEST['cookieadmin_shared_subdomain_consent']);
$cookieadmin_settings['content_blocking'] = !empty($_REQUEST['cookieadmin_content_blocking']);
$cookieadmin_settings['content_blocking_services'] = [];
if(!empty($_REQUEST['cookieadmin_content_blocking_services'])){
$cookieadmin_settings['content_blocking_services'] = array_map('sanitize_text_field', wp_unslash($_REQUEST['cookieadmin_content_blocking_services']));
}
// Google's advance consent mode (Google tags will be loaded on page load is enabled)
$cookieadmin_settings['cookieadmin_google_advance_consent_mode'] = (isset( $_REQUEST['cookieadmin_google_advance_consent_mode'] ) ? 1 : 0);
if(empty($cookieadmin_error)){
update_option('cookieadmin_settings', $cookieadmin_settings);
}
//Clear schedule if logs deletion is disabled
if(empty($cookieadmin_settings['consent_logs_expiry'])){
wp_clear_scheduled_hook('cookieadmin_daily_consent_log_pruning');
}
//Clear schedule if auto scan is disabled
if(empty($cookieadmin_settings['cookieadmin_auto_scan'])){
wp_clear_scheduled_hook('cookieadmin_run_auto_cookie_scan');
}
// get the consent type from option table, if not saved then return default as 'gdpr'
$law = get_option('cookieadmin_law', 'cookieadmin_gdpr');
$policy = cookieadmin_load_policy();
//set preload and consent field for "cookieadmin-settings" page
$policy[$law]['preload'] = !empty($_REQUEST['cookieadmin_preload']) ? array_map('sanitize_text_field', wp_unslash($_REQUEST['cookieadmin_preload'])) : [];
$policy[$law]['reload_on_consent'] = !empty($_REQUEST['cookieadmin_reload_on_consent']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_reload_on_consent'])) : '';
// Check for certain fields to be saved only if their values is not the same as default
$cookieadmin_check_changes = array('cookieadmin_notice_title', 'cookieadmin_notice', 'cookieadmin_preference_title', 'cookieadmin_preference', 'reConsent_title', 'cookieadmin_customize_btn', 'cookieadmin_reject_btn', 'cookieadmin_accept_btn', 'cookieadmin_save_btn');
foreach($cookieadmin_check_changes as $c_field){
foreach($policy as $c_law => $c_val){
if(!empty($cookieadmin_policies[$c_law]) && !empty($c_val[$c_field]) && $c_val[$c_field] == $cookieadmin_policies[$c_law][$c_field]){
unset($policy[$c_law][$c_field]);
}
}
}
update_option('cookieadmin_consent_settings', $policy);
if(empty($cookieadmin_error)){
$cookieadmin_msg = __('Settings saved successfully', 'cookieadmin');
}
}
}