'1', 'x_content_type_options' => '1', 'strict_transport_security' => '1', 'permissions_policy' => '1', 'x_frame_options' => '1', 'referrer_policy' => '1', 'content_security_policy' => '0', 'remove_x_powered_by' => '1', 'hide_wp_version' => '1', 'remove_login_errors' => '1', 'disable_xmlrpc' => '1', 'remove_x_pingback' => '1', 'restrict_rest_api' => '0', 'security_profile' => 'manual', 'csp_default_src' => "'self' ".$site_url, 'csp_script_src' => "'self' blob: 'unsafe-inline' 'unsafe-eval' *.google.com *.gstatic.com *.googletagmanager.com *.google-analytics.com *.facebook.net *.twitter.com *.youtube.com *.vimeo.com *.cloudflare.com *.bootstrapcdn.com *.jsdelivr.net *.fontawesome.com ".$site_url, 'csp_style_src' => "'self' 'unsafe-inline' *.googleapis.com *.bootstrapcdn.com *.jsdelivr.net *.fontawesome.com ".$site_url, 'csp_img_src' => "'self' data: blob: *.gravatar.com *.google.com *.gstatic.com *.wp.com *.cloudflare.com *.facebook.com *.twitter.com *.x.com *.youtube.com *.vimeo.com ".$site_url, 'csp_connect_src' => "'self' *.google-analytics.com *.googletagmanager.com *.facebook.net *.twitter.com *.x.com *.paypal.com *.stripe.com *.woocommerce.com ".$site_url, 'csp_font_src' => "'self' data: *.googleapis.com *.gstatic.com *.fontawesome.com ".$site_url, 'csp_object_src' => "'self' ".$site_url, 'csp_media_src' => "'self' ".$site_url, 'csp_frame_src' => "'self' *.google.com *.youtube.com *.vimeo.com *.facebook.com *.twitter.com *.x.com ".$site_url, 'csp_worker_src' => '', 'csp_form_action' => " * ", 'csp_base_uri' => '', 'csp_sandbox' => '', 'csp_report_uri' => '', 'csp_report_to' => '' ); $default_options = array_merge( $default_options, ASH_Header_Settings::activation_defaults($existing_options), ASH_Feature_Settings::activation_defaults($existing_options) ); // Merge existing options with defaults // This ensures we only set default values for options that don't already exist $final_options = wp_parse_args($existing_options, $default_options); // Update options in database update_option('ash_options', $final_options); if (false === get_option('ash_plugin_settings', false)) { add_option( 'ash_plugin_settings', array( 'remove_data_on_uninstall' => '0', ), '', false ); } require_once ASH_PLUGIN_DIR . 'includes/class-ash-csp-repository.php'; ASH_CSP_Repository::install(); if (!wp_next_scheduled('ash_csp_assistant_cron')) { wp_schedule_event(time() + 60, 'hourly', 'ash_csp_assistant_cron'); } } // Deactivation hook register_deactivation_hook(__FILE__, 'ash_deactivate'); function ash_deactivate() { wp_clear_scheduled_hook('ash_csp_assistant_cron'); }