Ticket #19009: 19009.diff
File 19009.diff, 1.7 KB (added by , 14 years ago) |
---|
-
wp-admin/includes/ms.php
61 61 switch_to_blog( $blog_id ); 62 62 } 63 63 64 $blog_prefix = $wpdb->get_blog_prefix( $blog_id );65 66 64 do_action( 'delete_blog', $blog_id, $drop ); 67 65 68 66 $users = get_users( array( 'blog_id' => $blog_id, 'fields' => 'ids' ) ); … … 76 74 77 75 update_blog_status( $blog_id, 'deleted', 1 ); 78 76 77 if ( 1 == $blog_id ) 78 $drop = false; 79 79 80 if ( $drop ) { 80 if ( substr( $blog_prefix, -1 ) == '_' )81 $blog_prefix = substr( $blog_prefix, 0, -1 ) . '\_';82 81 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`" ); 89 84 } 85 90 86 $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->blogs WHERE blog_id = %d", $blog_id ) ); 91 87 $dir = apply_filters( 'wpmu_delete_blog_upload_dir', WP_CONTENT_DIR . "/blogs.dir/{$blog_id}/files/", $blog_id ); 92 88 $dir = rtrim( $dir, DIRECTORY_SEPARATOR ); … … 120 116 } 121 117 } 122 118 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 133 119 if ( $switch === true ) 134 120 restore_current_blog(); 135 121 }