diff -r f507feede89a -r 09a1c134465b web/wp-includes/option.php --- a/web/wp-includes/option.php Wed Dec 19 12:35:13 2012 -0800 +++ b/web/wp-includes/option.php Wed Dec 19 17:46:52 2012 -0800 @@ -32,15 +32,15 @@ function get_option( $option, $default = false ) { global $wpdb; + $option = trim( $option ); + if ( empty( $option ) ) + return false; + // Allow plugins to short-circuit options. $pre = apply_filters( 'pre_option_' . $option, false ); if ( false !== $pre ) return $pre; - $option = trim($option); - if ( empty($option) ) - return false; - if ( defined( 'WP_SETUP_CONFIG' ) ) return false; @@ -174,7 +174,7 @@ if ( empty($site_id) ) $site_id = $wpdb->siteid; - $core_options = array('site_name', 'siteurl', 'active_sitewide_plugins', '_site_transient_timeout_theme_roots', '_site_transient_theme_roots', 'site_admins', 'can_compress_scripts', 'global_terms_enabled' ); + $core_options = array('site_name', 'siteurl', 'active_sitewide_plugins', '_site_transient_timeout_theme_roots', '_site_transient_theme_roots', 'site_admins', 'can_compress_scripts', 'global_terms_enabled', 'ms_files_rewriting' ); $core_options_in = "'" . implode("', '", $core_options) . "'"; $options = $wpdb->get_results( $wpdb->prepare("SELECT meta_key, meta_value FROM $wpdb->sitemeta WHERE meta_key IN ($core_options_in) AND site_id = %d", $site_id) ); @@ -540,6 +540,11 @@ if ( ! $user = wp_get_current_user() ) return; + if ( is_super_admin( $user->ID ) && + ! in_array( get_current_blog_id(), array_keys( get_blogs_of_user( $user->ID ) ) ) + ) + return; + $settings = get_user_option( 'user-settings', $user->ID ); if ( isset( $_COOKIE['wp-settings-' . $user->ID] ) ) { @@ -560,8 +565,8 @@ } } - setcookie( 'wp-settings-' . $user->ID, $settings, time() + 31536000, SITECOOKIEPATH ); - setcookie( 'wp-settings-time-' . $user->ID, time(), time() + 31536000, SITECOOKIEPATH ); + setcookie( 'wp-settings-' . $user->ID, $settings, time() + YEAR_IN_SECONDS, SITECOOKIEPATH ); + setcookie( 'wp-settings-time-' . $user->ID, time(), time() + YEAR_IN_SECONDS, SITECOOKIEPATH ); $_COOKIE['wp-settings-' . $user->ID] = $settings; } @@ -697,6 +702,11 @@ if ( ! $user = wp_get_current_user() ) return false; + if ( is_super_admin( $user->ID ) && + ! in_array( get_current_blog_id(), array_keys( get_blogs_of_user( $user->ID ) ) ) + ) + return; + $_updated_user_settings = $all; $settings = ''; foreach ( $all as $k => $v ) { @@ -724,7 +734,7 @@ return; update_user_option( $user->ID, 'user-settings', '', false ); - setcookie('wp-settings-' . $user->ID, ' ', time() - 31536000, SITECOOKIEPATH); + setcookie('wp-settings-' . $user->ID, ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH); } /**