WordPress.org

Make WordPress Core

Ticket #10788: 10788.unserialized.diff

File 10788.unserialized.diff, 2.0 KB (added by nacin, 5 years ago)

Consistently pass unserialized values to hooks in update_site_option(). Change add_option() and add_site_option() to do the same. Any plugin using maybe_unserialize() would work fine, as the value wouldn't need to be unserialized any longer.

  • C:/xampp/htdocs/commit/wp-includes/functions.php

     
    576576                if ( false !== get_option( $safe_option ) ) 
    577577                        return; 
    578578 
     579        $_value = $value; 
    579580        $value = maybe_serialize( $value ); 
    580581        $autoload = ( 'no' === $autoload ) ? 'no' : 'yes'; 
    581582        do_action( 'add_option', $option, $value ); 
     
    599600        $result = $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)", $option, $value, $autoload ) ); 
    600601 
    601602        if ( $result ) { 
    602                 do_action( "add_option_{$option}", $option, $value ); 
    603                 do_action( 'added_option', $option, $value ); 
     603                do_action( "add_option_{$option}", $option, $_value ); 
     604                do_action( 'added_option', $option, $_value ); 
    604605                return true; 
    605606        } 
    606607        return false; 
     
    34443445                $value = sanitize_option( $option, $value ); 
    34453446                wp_cache_set( $cache_key, $value, 'site-options' ); 
    34463447 
     3448                $_value = $value; 
    34473449                $value = maybe_serialize($value); 
    34483450 
    34493451                $result = $wpdb->insert( $wpdb->sitemeta, array('site_id' => $wpdb->siteid, 'meta_key' => $option, 'meta_value' => $value ) ); 
    34503452        } 
    34513453 
    3452         do_action( "add_site_option_{$option}", $option, $value ); 
    3453         do_action( "add_site_option", $option, $value ); 
     3454        do_action( "add_site_option_{$option}", $option, $_value ); 
     3455        do_action( "add_site_option", $option, $_value ); 
    34543456 
    34553457        return $result; 
    34563458} 
     
    35323534                $value = sanitize_option( $option, $value ); 
    35333535                wp_cache_set( $cache_key, $value, 'site-options' ); 
    35343536 
     3537                $_value = $value; 
    35353538                $value = maybe_serialize( $value ); 
    35363539                $result = $wpdb->update( $wpdb->sitemeta, array( 'meta_value' => $value ), array( 'site_id' => $wpdb->siteid, 'meta_key' => $option ) ); 
     3540                $value = $_value; 
    35373541        } 
    35383542 
    35393543        if ( $result ) {