Make WordPress Core


Ignore:
Timestamp:
10/01/2012 06:03:23 PM (9 years ago)
Author:
ryan
Message:
  • Register blog-id-cache group as global
  • Introduce clean_blog_cache() so we can run it independently of refresh_blog_details() which assumes the blog still exists and get_blog_details() can be called.
  • Don't db escape cache keys in get_blog_id_from_url()
  • prepare() the query in get_blog_id_from_url()
  • Return 0 for all failures in get_blog_id_from_url()
  • clean_blog_cache() after dropping tables in wpmu_delete_blog() to make sure the cache is for real cleaned.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/ms-blogs.php

    r22087 r22092  
    254254    $details = get_blog_details( $blog_id, false );
    255255
    256     wp_cache_delete( $blog_id , 'blog-details' );
    257     wp_cache_delete( $blog_id . 'short' , 'blog-details' );
    258     wp_cache_delete( md5( $details->domain . $details->path )  , 'blog-lookup' );
    259     wp_cache_delete( 'current_blog_' . $details->domain, 'site-options' );
    260     wp_cache_delete( 'current_blog_' . $details->domain . $details->path, 'site-options' );
    261     wp_cache_delete( 'get_id_from_blogname_' . trim( $details->path, '/' ), 'blog-details' );
     256    clean_blog_cache( $details );
    262257
    263258    do_action( 'refresh_blog_details', $blog_id );
     
    315310
    316311    return true;
     312}
     313
     314/**
     315 * Clean the blog cache
     316 *
     317 * @since 3.5.0
     318 *
     319 * @param stdClass $blog The blog details as returned from get_blog_details()
     320 */
     321function clean_blog_cache( $blog ) {
     322    $blog_id = $blog->blog_id;
     323    $domain_path_key = md5( $blog->domain . $blog->path );
     324
     325    wp_cache_delete( $blog_id , 'blog-details' );
     326    wp_cache_delete( $blog_id . 'short' , 'blog-details' );
     327    wp_cache_delete(  $domain_path_key, 'blog-lookup' );
     328    wp_cache_delete( 'current_blog_' . $blog->domain, 'site-options' );
     329    wp_cache_delete( 'current_blog_' . $blog->domain . $blog->path, 'site-options' );
     330    wp_cache_delete( 'get_id_from_blogname_' . trim( $blog->path, '/' ), 'blog-details' );
     331    wp_cache_delete( $domain_path_key, 'blog-id-cache' );
    317332}
    318333
     
    493508                wp_cache_add_global_groups( $global_groups );
    494509            else
    495                 wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts' ) );
     510                wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts', ' blog-id-cache' ) );
    496511            wp_cache_add_non_persistent_groups( array( 'comment', 'counts', 'plugins' ) );
    497512        }
     
    554569                wp_cache_add_global_groups( $global_groups );
    555570            else
    556                 wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts' ) );
     571                wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts', ' blog-id-cache' ) );
    557572            wp_cache_add_non_persistent_groups( array( 'comment', 'counts', 'plugins' ) );
    558573        }
Note: See TracChangeset for help on using the changeset viewer.