'.esc_html__('Cookie Loading', 'cookieadmin').'
'.esc_html__('Loading cookies prior to receiving user consent will make your website non-compliant with GDPR.', 'cookieadmin').'
'; // Card: Resource blocking echo '
'.esc_html__('Resource Blocking', 'cookieadmin').'
'; // Card: Advanced Features (PRO) echo '
'.esc_html__('Advanced Features', 'cookieadmin').wp_kses_post($cookieadmin_requires_pro).'
'; // Card: Data Management (PRO) echo '
'.esc_html__('Data Management', 'cookieadmin').wp_kses_post($cookieadmin_requires_pro).'
'; // Card: Global Privacy Control (PRO) echo '
'.esc_html__('Global Privacy Control', 'cookieadmin').wp_kses_post($cookieadmin_requires_pro).'
'; wp_nonce_field('cookieadmin_admin_nonce', 'cookieadmin_security'); echo '
'; \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'])); } 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($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'); } } }