mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-08-11 12:20:22 +00:00
* 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. git-svn-id: https://develop.svn.wordpress.org/trunk@22092 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -253,12 +253,7 @@ function refresh_blog_details( $blog_id ) {
|
||||
$blog_id = (int) $blog_id;
|
||||
$details = get_blog_details( $blog_id, false );
|
||||
|
||||
wp_cache_delete( $blog_id , 'blog-details' );
|
||||
wp_cache_delete( $blog_id . 'short' , 'blog-details' );
|
||||
wp_cache_delete( md5( $details->domain . $details->path ) , 'blog-lookup' );
|
||||
wp_cache_delete( 'current_blog_' . $details->domain, 'site-options' );
|
||||
wp_cache_delete( 'current_blog_' . $details->domain . $details->path, 'site-options' );
|
||||
wp_cache_delete( 'get_id_from_blogname_' . trim( $details->path, '/' ), 'blog-details' );
|
||||
clean_blog_cache( $details );
|
||||
|
||||
do_action( 'refresh_blog_details', $blog_id );
|
||||
}
|
||||
@@ -316,6 +311,26 @@ function update_blog_details( $blog_id, $details = array() ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clean the blog cache
|
||||
*
|
||||
* @since 3.5.0
|
||||
*
|
||||
* @param stdClass $blog The blog details as returned from get_blog_details()
|
||||
*/
|
||||
function clean_blog_cache( $blog ) {
|
||||
$blog_id = $blog->blog_id;
|
||||
$domain_path_key = md5( $blog->domain . $blog->path );
|
||||
|
||||
wp_cache_delete( $blog_id , 'blog-details' );
|
||||
wp_cache_delete( $blog_id . 'short' , 'blog-details' );
|
||||
wp_cache_delete( $domain_path_key, 'blog-lookup' );
|
||||
wp_cache_delete( 'current_blog_' . $blog->domain, 'site-options' );
|
||||
wp_cache_delete( 'current_blog_' . $blog->domain . $blog->path, 'site-options' );
|
||||
wp_cache_delete( 'get_id_from_blogname_' . trim( $blog->path, '/' ), 'blog-details' );
|
||||
wp_cache_delete( $domain_path_key, 'blog-id-cache' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve option value for a given blog id based on name of option.
|
||||
*
|
||||
@@ -492,7 +507,7 @@ function switch_to_blog( $new_blog, $deprecated = null ) {
|
||||
if ( is_array( $global_groups ) )
|
||||
wp_cache_add_global_groups( $global_groups );
|
||||
else
|
||||
wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts' ) );
|
||||
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' ) );
|
||||
wp_cache_add_non_persistent_groups( array( 'comment', 'counts', 'plugins' ) );
|
||||
}
|
||||
}
|
||||
@@ -553,7 +568,7 @@ function restore_current_blog() {
|
||||
if ( is_array( $global_groups ) )
|
||||
wp_cache_add_global_groups( $global_groups );
|
||||
else
|
||||
wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts' ) );
|
||||
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' ) );
|
||||
wp_cache_add_non_persistent_groups( array( 'comment', 'counts', 'plugins' ) );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user