Wordpress 3.5
[autoinstalls/wordpress.git] / wp-includes / option.php
index 33897b60994930b9b7216162d5dd3436deb45a13..722d1f30d4992c0dc128eeb13eeb6ddef1bcd8a7 100644 (file)
 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 @@ function wp_load_core_site_options( $site_id = null ) {
        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 @@ function wp_user_settings() {
        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 @@ function wp_user_settings() {
                }
        }
 
-       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 @@ function wp_set_all_user_settings($all) {
        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 @@ function delete_all_user_settings() {
                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);
 }
 
 /**