Definition:
function restore_current_blog() {}
Restore the current blog, after calling switch_to_blog()
Return values
returns:True on success, False if we’re already on the current blog
Defined actions
- switch_blog
do_action( 'switch_blog', $blog, $blog ); - switch_blog
do_action('switch_blog', $blog_id, $prev_blog_id);
Source code
function restore_current_blog() {
global $table_prefix, $wpdb, $blog_id, $switched, $switched_stack, $wp_roles, $wp_object_cache;
if ( !$switched )
return false;
if ( !is_array( $switched_stack ) )
return false;
$blog = array_pop( $switched_stack );
if ( $blog_id == $blog ) {
do_action( 'switch_blog', $blog, $blog );
/* If we still have items in the switched stack, consider ourselves still 'switched' */
$switched = ( is_array( $switched_stack ) && count( $switched_stack ) > 0 );
return true;
}
$wpdb->set_blog_id($blog);
$prev_blog_id = $blog_id;
$blog_id = $blog;
$table_prefix = $wpdb->prefix;
if ( is_object( $wp_roles ) ) {
$wpdb->suppress_errors();
if ( method_exists( $wp_roles ,'_init' ) )
$wp_roles->_init();
elseif ( method_exists( $wp_roles, '__construct' ) )
$wp_roles->__construct();
$wpdb->suppress_errors( false );
}
if ( did_action('init') ) {
$current_user = wp_get_current_user();
if ( is_object( $current_user ) )
$current_user->for_blog( $blog_id );
}
if ( is_object( $wp_object_cache ) && isset( $wp_object_cache->global_groups ) )
$global_groups = $wp_object_cache->global_groups;
else
$global_groups = false;
wp_cache_init();
if ( function_exists('wp_cache_add_global_groups') ) {
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_non_persistent_groups(array( 'comment', 'counts', 'plugins' ));
}
do_action('switch_blog', $blog_id, $prev_blog_id);
/* If we still have items in the switched stack, consider ourselves still 'switched' */
$switched = ( is_array( $switched_stack ) && count( $switched_stack ) > 0 );
return true;
}
2741

February 12, 2011 


No comments yet... Be the first to leave a reply!