]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/maint/repair.php
Wordpress 3.0
[autoinstalls/wordpress.git] / wp-admin / maint / repair.php
index 9f2c26f14d20e3e8ffbd94cf8124ebd47f38b7fd..6daa5d5283f06cc50d174fd7889062aa92a808a2 100644 (file)
@@ -19,7 +19,7 @@ header( 'Content-Type: text/html; charset=utf-8' );
 <?php
 
 if ( !defined('WP_ALLOW_REPAIR') ) {
-       _e("<p>To allow use of this page to automatically repair database problems, please add the following line to your wp-config.php file.  Once this line is added to your config, reload this page.</p><code>define('WP_ALLOW_REPAIR', true);</code>");
+       echo '<p>'.__('To allow use of this page to automatically repair database problems, please add the following line to your wp-config.php file.  Once this line is added to your config, reload this page.')."</p><code>define('WP_ALLOW_REPAIR', true);</code>";
 } elseif ( isset($_GET['repair']) ) {
        $problems = array();
        check_admin_referer('repair_db');
@@ -31,48 +31,50 @@ if ( !defined('WP_ALLOW_REPAIR') ) {
 
        $okay = true;
 
-       // Loop over the WP tables, checking and repairing as needed.
-       foreach ($wpdb->tables as $table) {
-               if ( in_array($table, $wpdb->old_tables) )
-                       continue;
-
-               $check = $wpdb->get_row("CHECK TABLE {$wpdb->prefix}$table");
+       $tables = $wpdb->tables();
+       // Sitecategories may not exist if global terms are disabled.
+       if ( is_multisite() && ! $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->sitecategories'" ) )
+               unset( $tables['sitecategories'] );
+       $tables = array_merge( $tables, (array) apply_filters( 'tables_to_repair', array() ) ); // Return tables with table prefixes.
+       // Loop over the tables, checking and repairing as needed.
+       foreach ( $tables as $table ) {
+               $check = $wpdb->get_row("CHECK TABLE $table");
                if ( 'OK' == $check->Msg_text ) {
-                       echo "<p>The {$wpdb->prefix}$table table is okay.";
+                       echo "<p>The $table table is okay.";
                } else {
-                       echo "<p>The {$wpdb->prefix}$table table is not okay. It is reporting the following error: <code>$check->Msg_text</code>.  WordPress will attempt to repair this table&hellip;";
-                       $repair = $wpdb->get_row("REPAIR TABLE {$wpdb->prefix}$table");
+                       echo "<p>The $table table is not okay. It is reporting the following error: <code>$check->Msg_text</code>.  WordPress will attempt to repair this table&hellip;";
+                       $repair = $wpdb->get_row("REPAIR TABLE $table");
                        if ( 'OK' == $check->Msg_text ) {
-                               echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;Sucessfully repaired the {$wpdb->prefix}$table table.";
+                               echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;Successfully repaired the $table table.";
                        } else {
-                               echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;Failed to repair the {$wpdb->prefix}$table table. Error: $check->Msg_text<br />";
-                               $problems["{$wpdb->prefix}$table"] = $check->Msg_text;
+                               echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;Failed to repair the $table table. Error: $check->Msg_text<br />";
+                               $problems["$table"] = $check->Msg_text;
                                $okay = false;
                        }
                }
                if ( $okay && $optimize ) {
-                       $check = $wpdb->get_row("ANALYZE TABLE {$wpdb->prefix}$table");
+                       $check = $wpdb->get_row("ANALYZE TABLE $table");
                        if ( 'Table is already up to date' == $check->Msg_text )  {
-                               echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;The {$wpdb->prefix}$table table is already optimized.";
+                               echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;The $table table is already optimized.";
                        } else {
-                               $check = $wpdb->get_row("OPTIMIZE TABLE {$wpdb->prefix}$table");
+                               $check = $wpdb->get_row("OPTIMIZE TABLE $table");
                                if ( 'OK' == $check->Msg_text || 'Table is already up to date' == $check->Msg_text )
-                                       echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;Sucessfully optimized the {$wpdb->prefix}$table table.";
+                                       echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;Successfully optimized the $table table.";
                                else
-                                       echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;Failed to optimize the {$wpdb->prefix}$table table. Error: $check->Msg_text";
+                                       echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;Failed to optimize the $table table. Error: $check->Msg_text";
                        }
                }
                echo '</p>';
        }
 
        if ( !empty($problems) ) {
-               printf(__('<p>Some database problems could not be repaired. Please copy-and-paste the following list of errors to the <a href="%s">WordPress support forums</a> to get additional assistance.</p>'), 'http://wordpress.org/support/forum/3');
+               printf('<p>'.__('Some database problems could not be repaired. Please copy-and-paste the following list of errors to the <a href="%s">WordPress support forums</a> to get additional assistance.').'</p>', 'http://wordpress.org/support/forum/3');
                $problem_output = array();
                foreach ( $problems as $table => $problem )
                        $problem_output[] = "$table: $problem";
                echo '<textarea name="errors" id="errors" rows="20" cols="60">' . format_to_edit(implode("\n", $problem_output)) . '</textarea>';
        } else {
-               _e("<p>Repairs complete.  Please remove the following line from wp-config.php to prevent this page from being used by unauthorized users.</p><code>define('WP_ALLOW_REPAIR', true);</code>");
+               echo '<p>'.__('Repairs complete.  Please remove the following line from wp-config.php to prevent this page from being used by unauthorized users.')."</p><code>define('WP_ALLOW_REPAIR', true);</code>";
        }
 } else {
        if ( isset($_GET['referrer']) && 'is_blog_installed' == $_GET['referrer'] )