Make WordPress Core

Ticket #21401: 21401.diff

File 21401.diff, 8.6 KB (added by wonderboymusic, 12 years ago)
  • wp-cron.php

    diff --git wp-cron.php wp-cron.php
    index 04953c8..21706cb 100644
    if ( !defined('ABSPATH') ) { 
    2828
    2929// Uncached doing_cron transient fetch
    3030function _get_cron_lock() {
    31         global $_wp_using_ext_object_cache, $wpdb;
     31        global $wpdb;
    3232
    3333        $value = 0;
    34         if ( $_wp_using_ext_object_cache ) {
     34        if ( wp_using_ext_object_cache() ) {
    3535                // Skip local cache and force refetch of doing_cron transient in case
    3636                // another processs updated the cache
    3737                $value = wp_cache_get( 'doing_cron', 'transient', true );
  • wp-includes/load.php

    diff --git wp-includes/load.php wp-includes/load.php
    index e1eb15e..6fb608b 100644
    function wp_set_wpdb_vars() { 
    370370}
    371371
    372372/**
     373 * Access/Modify private global variable $_wp_using_ext_object_cache
     374 *
     375 * Toggle $_wp_using_ext_object_cache on and off without directly touching global
     376 *
     377 * @since 3.7.0
     378 *
     379 * @param bool $using Whether external object cache is being used
     380 * @return bool The current 'using' setting
     381 */
     382function wp_using_ext_object_cache( $using = null ) {
     383        global $_wp_using_ext_object_cache;
     384        $current_using = $_wp_using_ext_object_cache;
     385        if ( null !== $using )
     386                $_wp_using_ext_object_cache = $using;
     387        return $current_using;
     388}
     389
     390/**
    373391 * Starts the WordPress object cache.
    374392 *
    375393 * If an object-cache.php file exists in the wp-content directory,
    function wp_set_wpdb_vars() { 
    379397 * @since 3.0.0
    380398 */
    381399function wp_start_object_cache() {
    382         global $_wp_using_ext_object_cache, $blog_id;
     400        global $blog_id;
    383401
    384402        $first_init = false;
    385403        if ( ! function_exists( 'wp_cache_init' ) ) {
    386404                if ( file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
    387405                        require_once ( WP_CONTENT_DIR . '/object-cache.php' );
    388                         $_wp_using_ext_object_cache = true;
    389                 } else {
    390                         require_once ( ABSPATH . WPINC . '/cache.php' );
    391                         $_wp_using_ext_object_cache = false;
     406                        if ( function_exists( 'wp_cache_init' ) )
     407                                wp_using_ext_object_cache( true );
    392408                }
     409
    393410                $first_init = true;
    394         } else if ( !$_wp_using_ext_object_cache && file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
     411        } else if ( ! wp_using_ext_object_cache() && file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
    395412                // Sometimes advanced-cache.php can load object-cache.php before it is loaded here.
    396413                // This breaks the function_exists check above and can result in $_wp_using_ext_object_cache
    397414                // being set incorrectly. Double check if an external cache exists.
    398                 $_wp_using_ext_object_cache = true;
     415                wp_using_ext_object_cache( true );
    399416        }
    400417
     418        if ( ! wp_using_ext_object_cache() )
     419                require_once ( ABSPATH . WPINC . '/cache.php' );
     420
    401421        // If cache supports reset, reset instead of init if already initialized.
    402422        // Reset signals to the cache that global IDs have changed and it may need to update keys
    403423        // and cleanup caches.
    404424        if ( ! $first_init && function_exists( 'wp_cache_switch_to_blog' ) )
    405425                wp_cache_switch_to_blog( $blog_id );
    406         else
     426        elseif ( function_exists( 'wp_cache_init' ) )
    407427                wp_cache_init();
    408428
    409429        if ( function_exists( 'wp_cache_add_global_groups' ) ) {
  • wp-includes/nav-menu.php

    diff --git wp-includes/nav-menu.php wp-includes/nav-menu.php
    index 794f4b2..9d7219f 100644
    function _is_valid_nav_menu_item( $item ) { 
    476476 * @return mixed $items array of menu items, else false.
    477477 */
    478478function wp_get_nav_menu_items( $menu, $args = array() ) {
    479         global $_wp_using_ext_object_cache;
    480 
    481479        $menu = wp_get_nav_menu_object( $menu );
    482480
    483481        if ( ! $menu )
    function wp_get_nav_menu_items( $menu, $args = array() ) { 
    504502                return false;
    505503
    506504        // Get all posts and terms at once to prime the caches
    507         if ( empty( $fetched[$menu->term_id] ) || $_wp_using_ext_object_cache ) {
     505        if ( empty( $fetched[$menu->term_id] ) || wp_using_ext_object_cache() ) {
    508506                $fetched[$menu->term_id] = true;
    509507                $posts = array();
    510508                $terms = array();
  • wp-includes/option.php

    diff --git wp-includes/option.php wp-includes/option.php
    index 3df89c2..5919f04 100644
    function wp_load_alloptions() { 
    165165 * @param int $site_id Optional site ID for which to query the options. Defaults to the current site.
    166166 */
    167167function wp_load_core_site_options( $site_id = null ) {
    168         global $wpdb, $_wp_using_ext_object_cache;
     168        global $wpdb;
    169169
    170         if ( !is_multisite() || $_wp_using_ext_object_cache || defined( 'WP_INSTALLING' ) )
     170        if ( !is_multisite() || wp_using_ext_object_cache() || defined( 'WP_INSTALLING' ) )
    171171                return;
    172172
    173173        if ( empty($site_id) )
    function delete_option( $option ) { 
    404404 * @return bool true if successful, false otherwise
    405405 */
    406406function delete_transient( $transient ) {
    407         global $_wp_using_ext_object_cache;
    408 
    409407        do_action( 'delete_transient_' . $transient, $transient );
    410408
    411         if ( $_wp_using_ext_object_cache ) {
     409        if ( wp_using_ext_object_cache() ) {
    412410                $result = wp_cache_delete( $transient, 'transient' );
    413411        } else {
    414412                $option_timeout = '_transient_timeout_' . $transient;
    function delete_transient( $transient ) { 
    443441 * @return mixed Value of transient
    444442 */
    445443function get_transient( $transient ) {
    446         global $_wp_using_ext_object_cache;
    447 
    448444        $pre = apply_filters( 'pre_transient_' . $transient, false );
    449445        if ( false !== $pre )
    450446                return $pre;
    451447
    452         if ( $_wp_using_ext_object_cache ) {
     448        if ( wp_using_ext_object_cache() ) {
    453449                $value = wp_cache_get( $transient, 'transient' );
    454450        } else {
    455451                $transient_option = '_transient_' . $transient;
    function get_transient( $transient ) { 
    492488 * @return bool False if value was not set and true if value was set.
    493489 */
    494490function set_transient( $transient, $value, $expiration = 0 ) {
    495         global $_wp_using_ext_object_cache;
    496 
    497491        $value = apply_filters( 'pre_set_transient_' . $transient, $value );
    498492
    499         if ( $_wp_using_ext_object_cache ) {
     493        if ( wp_using_ext_object_cache() ) {
    500494                $result = wp_cache_set( $transient, $value, 'transient', $expiration );
    501495        } else {
    502496                $transient_timeout = '_transient_timeout_' . $transient;
    function update_site_option( $option, $value ) { 
    945939 * @return bool True if successful, false otherwise
    946940 */
    947941function delete_site_transient( $transient ) {
    948         global $_wp_using_ext_object_cache;
    949 
    950942        do_action( 'delete_site_transient_' . $transient, $transient );
    951         if ( $_wp_using_ext_object_cache ) {
     943        if ( wp_using_ext_object_cache() ) {
    952944                $result = wp_cache_delete( $transient, 'site-transient' );
    953945        } else {
    954946                $option_timeout = '_site_transient_timeout_' . $transient;
    function delete_site_transient( $transient ) { 
    983975 * @return mixed Value of transient
    984976 */
    985977function get_site_transient( $transient ) {
    986         global $_wp_using_ext_object_cache;
    987 
    988978        $pre = apply_filters( 'pre_site_transient_' . $transient, false );
    989979        if ( false !== $pre )
    990980                return $pre;
    991981
    992         if ( $_wp_using_ext_object_cache ) {
     982        if ( wp_using_ext_object_cache() ) {
    993983                $value = wp_cache_get( $transient, 'site-transient' );
    994984        } else {
    995985                // Core transients that do not have a timeout. Listed here so querying timeouts can be avoided.
    function get_site_transient( $transient ) { 
    10321022 * @return bool False if value was not set and true if value was set.
    10331023 */
    10341024function set_site_transient( $transient, $value, $expiration = 0 ) {
    1035         global $_wp_using_ext_object_cache;
    1036 
    10371025        $value = apply_filters( 'pre_set_site_transient_' . $transient, $value );
    10381026
    1039         if ( $_wp_using_ext_object_cache ) {
     1027        if ( wp_using_ext_object_cache() ) {
    10401028                $result = wp_cache_set( $transient, $value, 'site-transient', $expiration );
    10411029        } else {
    10421030                $transient_timeout = '_site_transient_timeout_' . $transient;
  • wp-includes/query.php

    diff --git wp-includes/query.php wp-includes/query.php
    index 04286aa..493b180 100644
    class WP_Query { 
    19171917         * @return array List of posts.
    19181918         */
    19191919        function get_posts() {
    1920                 global $wpdb, $user_ID, $_wp_using_ext_object_cache;
     1920                global $wpdb, $user_ID;
    19211921
    19221922                $this->parse_query();
    19231923
    class WP_Query { 
    19671967                        $q['suppress_filters'] = false;
    19681968
    19691969                if ( !isset($q['cache_results']) ) {
    1970                         if ( $_wp_using_ext_object_cache )
     1970                        if ( wp_using_ext_object_cache() )
    19711971                                $q['cache_results'] = false;
    19721972                        else
    19731973                                $q['cache_results'] = true;
  • wp-settings.php

    diff --git wp-settings.php wp-settings.php
    index 1094749..5d4f72b 100644
    timer_start(); 
    5454wp_debug_mode();
    5555
    5656// For an advanced caching plugin to use. Uses a static drop-in because you would only want one.
    57 if ( WP_CACHE )
     57if ( WP_CACHE && file_exists( WP_CONTENT_DIR . '/advanced-cache.php' ) )
    5858        WP_DEBUG ? include( WP_CONTENT_DIR . '/advanced-cache.php' ) : @include( WP_CONTENT_DIR . '/advanced-cache.php' );
    5959
    6060// Define WP_LANG_DIR if not set.