MC4WP_Admin::save_general_settings PHP Method

save_general_settings() public method

Validates the General settings
public save_general_settings ( array $settings ) : array
$settings array
return array
    public function save_general_settings(array $settings)
    {
        $current = mc4wp_get_options();
        // merge with current settings to allow passing partial arrays to this method
        $settings = array_merge($current, $settings);
        // toggle usage tracking
        if ($settings['allow_usage_tracking'] !== $current['allow_usage_tracking']) {
            MC4WP_Usage_Tracking::instance()->toggle($settings['allow_usage_tracking']);
        }
        // Make sure not to use obfuscated key
        if (strpos($settings['api_key'], '*') !== false) {
            $settings['api_key'] = $current['api_key'];
        }
        // Sanitize API key
        $settings['api_key'] = sanitize_text_field($settings['api_key']);
        // if API key changed, empty MailChimp cache
        if ($settings['api_key'] !== $current['api_key']) {
            $this->mailchimp->empty_cache();
        }
        /**
         * Runs right before general settings are saved.
         *
         * @param array $settings The updated settings array
         * @param array $current The old settings array
         */
        do_action('mc4wp_save_settings', $settings, $current);
        return $settings;
    }