Make WordPress Core

Ticket #19009: 19009.diff

File 19009.diff, 1.7 KB (added by nacin, 14 years ago)
  • wp-admin/includes/ms.php

     
    6161                switch_to_blog( $blog_id );
    6262        }
    6363
    64         $blog_prefix = $wpdb->get_blog_prefix( $blog_id );
    65 
    6664        do_action( 'delete_blog', $blog_id, $drop );
    6765
    6866        $users = get_users( array( 'blog_id' => $blog_id, 'fields' => 'ids' ) );
     
    7674
    7775        update_blog_status( $blog_id, 'deleted', 1 );
    7876
     77        if ( 1 == $blog_id )
     78                $drop = false;
     79
    7980        if ( $drop ) {
    80                 if ( substr( $blog_prefix, -1 ) == '_' )
    81                         $blog_prefix =  substr( $blog_prefix, 0, -1 ) . '\_';
    8281
    83                 $drop_tables = $wpdb->get_results( "SHOW TABLES LIKE '{$blog_prefix}%'", ARRAY_A );
    84                 $drop_tables = apply_filters( 'wpmu_drop_tables', $drop_tables );
    85 
    86                 reset( $drop_tables );
    87                 foreach ( (array) $drop_tables as $drop_table) {
    88                         $wpdb->query( "DROP TABLE IF EXISTS ". current( $drop_table ) ."" );
     82                foreach ( $wpdb->tables( 'blog' ) as $table ) {
     83                        $wpdb->query( "DROP TABLE IF EXISTS `$table`" );
    8984                }
     85
    9086                $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->blogs WHERE blog_id = %d", $blog_id ) );
    9187                $dir = apply_filters( 'wpmu_delete_blog_upload_dir', WP_CONTENT_DIR . "/blogs.dir/{$blog_id}/files/", $blog_id );
    9288                $dir = rtrim( $dir, DIRECTORY_SEPARATOR );
     
    120116                }
    121117        }
    122118
    123         $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key = '{$blog_prefix}autosave_draft_ids'" );
    124         $blogs = get_site_option( 'blog_list' );
    125         if ( is_array( $blogs ) ) {
    126                 foreach ( $blogs as $n => $blog ) {
    127                         if ( $blog['blog_id'] == $blog_id )
    128                                 unset( $blogs[$n] );
    129                 }
    130                 update_site_option( 'blog_list', $blogs );
    131         }
    132 
    133119        if ( $switch === true )
    134120                restore_current_blog();
    135121}