return apply_filters('wp_sendgrid_get_local_settings', $settings); } private static function get_network_settings() { $settings = get_site_option(self::SETTINGS_NETWORK_OPTION_NAME, array()); $settings = array_merge(self::get_default_network_settings(), $settings); return apply_filters('wp_sendgrid_get_network_settings', $settings); } private static function is_network_admin_page() { return defined('WP_NETWORK_ADMIN') && WP_NETWORK_ADMIN == 1; } public static function update_network_options() { // Only make changes if the self::SETTINGS_OPTION_NAME key exists. // Note: we use the SETTINGS_OPTION_NAME because it is used by files in the '/views' folder if (isset($_REQUEST[self::SETTINGS_OPTION_NAME])) { $value = stripslashes_deep($_REQUEST[self::SETTINGS_OPTION_NAME]); // Since a false value from the override checkbox won't be saved, we need to add it here. $_REQUEST[self::SETTINGS_OPTION_NAME]['override'] = isset($_REQUEST[self::SETTINGS_OPTION_NAME]['override']); // Update the network option. update_site_option(self::SETTINGS_NETWORK_OPTION_NAME, $_REQUEST[self::SETTINGS_OPTION_NAME]); // Redirect back to the network settings page. $params = array('page' => self::SETTINGS_PAGE_SLUG, 'settings-updated' => 'true'); wp_redirect(add_query_arg($params, network_admin_url('settings.php'))); exit; } } } WP_SendGrid_Settings::start();