WordPress.org

Make WordPress Core

Ticket #12140: functions.diff

File functions.diff, 4.2 KB (added by donncha, 6 years ago)
  • wp-includes/functions.php

     
    333333        if ( isset( $notoptions[$setting] ) ) 
    334334                return $default; 
    335335 
    336         $alloptions = wp_load_alloptions(); 
     336        if ( ! defined( 'WP_INSTALLING' ) ) { 
     337                $alloptions = wp_load_alloptions(); 
     338        } 
    337339 
    338340        if ( isset( $alloptions[$setting] ) ) { 
    339341                $value = $alloptions[$setting]; 
     
    527529        $newvalue = maybe_serialize( $newvalue ); 
    528530 
    529531        do_action( 'update_option', $option_name, $oldvalue, $newvalue ); 
    530         $alloptions = wp_load_alloptions(); 
    531         if ( isset( $alloptions[$option_name] ) ) { 
    532                 $alloptions[$option_name] = $newvalue; 
    533                 wp_cache_set( 'alloptions', $alloptions, 'options' ); 
    534         } else { 
    535                 wp_cache_set( $option_name, $newvalue, 'options' ); 
     532        if ( ! defined( 'WP_INSTALLING' ) ) { 
     533                $alloptions = wp_load_alloptions(); 
     534                if ( isset( $alloptions[$option_name] ) ) { 
     535                        $alloptions[$option_name] = $newvalue; 
     536                        wp_cache_set( 'alloptions', $alloptions, 'options' ); 
     537                } else { 
     538                        wp_cache_set( $option_name, $newvalue, 'options' ); 
     539                } 
    536540        } 
    537541 
    538542        $wpdb->update($wpdb->options, array('option_value' => $newvalue), array('option_name' => $option_name) ); 
     
    589593        $value = maybe_serialize( $value ); 
    590594        $autoload = ( 'no' === $autoload ) ? 'no' : 'yes'; 
    591595        do_action( 'add_option', $name, $value ); 
    592         if ( 'yes' == $autoload ) { 
    593                 $alloptions = wp_load_alloptions(); 
    594                 $alloptions[$name] = $value; 
    595                 wp_cache_set( 'alloptions', $alloptions, 'options' ); 
    596         } else { 
    597                 wp_cache_set( $name, $value, 'options' ); 
     596        if ( ! defined( 'WP_INSTALLING' ) ) { 
     597                if ( 'yes' == $autoload ) { 
     598                        $alloptions = wp_load_alloptions(); 
     599                        $alloptions[$name] = $value; 
     600                        wp_cache_set( 'alloptions', $alloptions, 'options' ); 
     601                } else { 
     602                        wp_cache_set( $name, $value, 'options' ); 
     603                } 
    598604        } 
    599605 
    600606        // This option exists now 
     
    635641        do_action( 'delete_option', $name ); 
    636642        // expected_slashed ($name) 
    637643        $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name = '$name'" ); 
    638         if ( 'yes' == $option->autoload ) { 
    639                 $alloptions = wp_load_alloptions(); 
    640                 if ( isset( $alloptions[$name] ) ) { 
    641                         unset( $alloptions[$name] ); 
    642                         wp_cache_set( 'alloptions', $alloptions, 'options' ); 
     644        if ( ! defined( 'WP_INSTALLING' ) ) { 
     645                if ( 'yes' == $option->autoload ) { 
     646                        $alloptions = wp_load_alloptions(); 
     647                        if ( isset( $alloptions[$name] ) ) { 
     648                                unset( $alloptions[$name] ); 
     649                                wp_cache_set( 'alloptions', $alloptions, 'options' ); 
     650                        } 
     651                } else { 
     652                        wp_cache_delete( $name, 'options' ); 
    643653                } 
    644         } else { 
    645                 wp_cache_delete( $name, 'options' ); 
    646654        } 
    647655        do_action( 'deleted_option', $name ); 
    648656        return true; 
     
    694702        if ( $_wp_using_ext_object_cache ) { 
    695703                $value = wp_cache_get($transient, 'transient'); 
    696704        } else { 
    697                 $transient_option = '_transient_' . esc_sql($transient); 
    698                 // If option is not in alloptions, it is not autoloaded and thus has a timeout 
    699                 $alloptions = wp_load_alloptions(); 
    700                 if ( !isset( $alloptions[$transient_option] ) ) { 
    701                         $transient_timeout = '_transient_timeout_' . esc_sql($transient); 
    702                         if ( get_option($transient_timeout) < time() ) { 
    703                                 delete_option($transient_option); 
    704                                 delete_option($transient_timeout); 
    705                                 return false; 
     705                if ( ! defined( 'WP_INSTALLING' ) ) { 
     706                        $transient_option = '_transient_' . esc_sql($transient); 
     707                        // If option is not in alloptions, it is not autoloaded and thus has a timeout 
     708                        $alloptions = wp_load_alloptions(); 
     709                        if ( !isset( $alloptions[$transient_option] ) ) { 
     710                                $transient_timeout = '_transient_timeout_' . esc_sql($transient); 
     711                                if ( get_option($transient_timeout) < time() ) { 
     712                                        delete_option($transient_option); 
     713                                        delete_option($transient_timeout); 
     714                                        return false; 
     715                                } 
    706716                        } 
    707717                } 
    708718 
     
    17501760                return true; 
    17511761 
    17521762        $suppress = $wpdb->suppress_errors(); 
    1753         $alloptions = wp_load_alloptions(); 
     1763        if ( ! defined( 'WP_INSTALLING' ) ) { 
     1764                $alloptions = wp_load_alloptions(); 
     1765        } 
    17541766        // If siteurl is not set to autoload, check it specifically 
    17551767        if ( !isset( $alloptions['siteurl'] ) ) 
    17561768                $installed = $wpdb->get_var( "SELECT option_value FROM $wpdb->options WHERE option_name = 'siteurl'" );