[ Index ] |
WordPress Cross Reference |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Database Repair and Optimization Script. 4 * 5 * @package WordPress 6 * @subpackage Database 7 */ 8 define('WP_REPAIRING', true); 9 10 require_once( dirname( dirname( dirname( __FILE__ ) ) ) . '/wp-load.php' ); 11 12 header( 'Content-Type: text/html; charset=utf-8' ); 13 ?> 14 <!DOCTYPE html> 15 <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>> 16 <head> 17 <meta name="viewport" content="width=device-width" /> 18 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 19 <title><?php _e( 'WordPress › Database Repair' ); ?></title> 20 <?php 21 wp_admin_css( 'install', true ); 22 ?> 23 </head> 24 <body class="wp-core-ui"> 25 <h1 id="logo"><a href="<?php echo esc_url( __( 'http://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></h1> 26 27 <?php 28 29 if ( ! defined( 'WP_ALLOW_REPAIR' ) ) { 30 echo '<p>' . __( 'To allow use of this page to automatically repair database problems, please add the following line to your <code>wp-config.php</code> file. Once this line is added to your config, reload this page.' ) . "</p><p><code>define('WP_ALLOW_REPAIR', true);</code></p>"; 31 } elseif ( isset( $_GET['repair'] ) ) { 32 $optimize = 2 == $_GET['repair']; 33 $okay = true; 34 $problems = array(); 35 36 $tables = $wpdb->tables(); 37 38 // Sitecategories may not exist if global terms are disabled. 39 if ( is_multisite() && ! $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->sitecategories'" ) ) 40 unset( $tables['sitecategories'] ); 41 42 /** 43 * Filter additional database tables to repair. 44 * 45 * @since 3.0.0 46 * 47 * @param array $tables Array of prefixed table names to be repaired. 48 */ 49 $tables = array_merge( $tables, (array) apply_filters( 'tables_to_repair', array() ) ); 50 51 // Loop over the tables, checking and repairing as needed. 52 foreach ( $tables as $table ) { 53 $check = $wpdb->get_row( "CHECK TABLE $table" ); 54 55 echo '<p>'; 56 if ( 'OK' == $check->Msg_text ) { 57 /* translators: %s: table name */ 58 printf( __( 'The %s table is okay.' ), "<code>$table</code>" ); 59 } else { 60 /* translators: 1: table name, 2: error message, */ 61 printf( __( 'The %1$s table is not okay. It is reporting the following error: %2$s. WordPress will attempt to repair this table…' ) , "<code>$table</code>", "<code>$check->Msg_text</code>" ); 62 63 $repair = $wpdb->get_row( "REPAIR TABLE $table" ); 64 65 echo '<br /> '; 66 if ( 'OK' == $check->Msg_text ) { 67 /* translators: %s: table name */ 68 printf( __( 'Successfully repaired the %s table.' ), "<code>$table</code>" ); 69 } else { 70 /* translators: 1: table name, 2: error message, */ 71 echo sprintf( __( 'Failed to repair the %1$s table. Error: %2$s' ), "<code>$table</code>", "<code>$check->Msg_text</code>" ) . '<br />'; 72 $problems[$table] = $check->Msg_text; 73 $okay = false; 74 } 75 } 76 77 if ( $okay && $optimize ) { 78 $check = $wpdb->get_row( "ANALYZE TABLE $table" ); 79 80 echo '<br /> '; 81 if ( 'Table is already up to date' == $check->Msg_text ) { 82 /* translators: %s: table name */ 83 printf( __( 'The %s table is already optimized.' ), "<code>$table</code>" ); 84 } else { 85 $check = $wpdb->get_row( "OPTIMIZE TABLE $table" ); 86 87 echo '<br /> '; 88 if ( 'OK' == $check->Msg_text || 'Table is already up to date' == $check->Msg_text ) { 89 /* translators: %s: table name */ 90 printf( __( 'Successfully optimized the %s table.' ), "<code>$table</code>" ); 91 } else { 92 /* translators: 1: table name, 2: error message, */ 93 printf( __( 'Failed to optimize the %1$s table. Error: %2$s' ), "<code>$table</code>", "<code>$check->Msg_text</code>" ); 94 } 95 } 96 } 97 echo '</p>'; 98 } 99 100 if ( $problems ) { 101 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/how-to-and-troubleshooting' ) ); 102 $problem_output = ''; 103 foreach ( $problems as $table => $problem ) 104 $problem_output .= "$table: $problem\n"; 105 echo '<p><textarea name="errors" id="errors" rows="20" cols="60">' . esc_textarea( $problem_output ) . '</textarea></p>'; 106 } else { 107 echo '<p>' . __( 'Repairs complete. Please remove the following line from wp-config.php to prevent this page from being used by unauthorized users.' ) . "</p><p><code>define('WP_ALLOW_REPAIR', true);</code></p>"; 108 } 109 } else { 110 if ( isset( $_GET['referrer'] ) && 'is_blog_installed' == $_GET['referrer'] ) 111 echo '<p>' . __( 'One or more database tables are unavailable. To allow WordPress to attempt to repair these tables, press the “Repair Database” button. Repairing can take a while, so please be patient.' ) . '</p>'; 112 else 113 echo '<p>' . __( 'WordPress can automatically look for some common database problems and repair them. Repairing can take a while, so please be patient.' ) . '</p>'; 114 ?> 115 <p class="step"><a class="button button-large" href="repair.php?repair=1"><?php _e( 'Repair Database' ); ?></a></p> 116 <p><?php _e( 'WordPress can also attempt to optimize the database. This improves performance in some situations. Repairing and optimizing the database can take a long time and the database will be locked while optimizing.' ); ?></p> 117 <p class="step"><a class="button button-large" href="repair.php?repair=2"><?php _e( 'Repair and Optimize Database' ); ?></a></p> 118 <?php 119 } 120 ?> 121 </body> 122 </html>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 25 01:41:18 2014 | WordPress honlapkészítés: online1.hu |