wp/wp-admin/maint/repair.php
changeset 7 cf61fcea0001
parent 5 5e2f62d02dcd
child 9 177826044cd9
equal deleted inserted replaced
6:490d5cc509ed 7:cf61fcea0001
    14 <!DOCTYPE html>
    14 <!DOCTYPE html>
    15 <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
    15 <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
    16 <head>
    16 <head>
    17 	<meta name="viewport" content="width=device-width" />
    17 	<meta name="viewport" content="width=device-width" />
    18 	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    18 	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       
    19 	<meta name="robots" content="noindex,nofollow" />
    19 	<title><?php _e( 'WordPress &rsaquo; Database Repair' ); ?></title>
    20 	<title><?php _e( 'WordPress &rsaquo; Database Repair' ); ?></title>
    20 	<?php
    21 	<?php
    21 	wp_admin_css( 'install', true );
    22 	wp_admin_css( 'install', true );
    22 	?>
    23 	?>
    23 </head>
    24 </head>
    24 <body class="wp-core-ui">
    25 <body class="wp-core-ui">
    25 <h1 id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>" tabindex="-1"><?php _e( 'WordPress' ); ?></a></h1>
    26 <p id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>" tabindex="-1"><?php _e( 'WordPress' ); ?></a></p>
    26 
    27 
    27 <?php
    28 <?php
    28 
    29 
    29 if ( ! defined( 'WP_ALLOW_REPAIR' ) ) {
    30 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 
       
    32 	echo '<h1 class="screen-reader-text">' . __( 'Allow automatic database repair' ) . '</h1>';
       
    33 
       
    34 	echo '<p>';
       
    35 	printf(
       
    36 		/* translators: %s: wp-config.php */
       
    37 		__( 'To allow use of this page to automatically repair database problems, please add the following line to your %s file. Once this line is added to your config, reload this page.' ),
       
    38 		'<code>wp-config.php</code>'
       
    39 	);
       
    40 	echo "</p><p><code>define('WP_ALLOW_REPAIR', true);</code></p>";
       
    41 
       
    42 	$default_key     = 'put your unique phrase here';
       
    43 	$missing_key     = false;
       
    44 	$duplicated_keys = array();
       
    45 
       
    46 	foreach ( array( 'AUTH_KEY', 'SECURE_AUTH_KEY', 'LOGGED_IN_KEY', 'NONCE_KEY', 'AUTH_SALT', 'SECURE_AUTH_SALT', 'LOGGED_IN_SALT', 'NONCE_SALT' ) as $key ) {
       
    47 		if ( defined( $key ) ) {
       
    48 			// Check for unique values of each key.
       
    49 			$duplicated_keys[ constant( $key ) ] = isset( $duplicated_keys[ constant( $key ) ] );
       
    50 		} else {
       
    51 			// If a constant is not defined, it's missing.
       
    52 			$missing_key = true;
       
    53 		}
       
    54 	}
       
    55 
       
    56 	// If at least one key uses the default value, consider it duplicated.
       
    57 	if ( isset( $duplicated_keys[ $default_key ] ) ) {
       
    58 		$duplicated_keys[ $default_key ] = true;
       
    59 	}
       
    60 
       
    61 	// Weed out all unique, non-default values.
       
    62 	$duplicated_keys = array_filter( $duplicated_keys );
       
    63 
       
    64 	if ( $duplicated_keys || $missing_key ) {
       
    65 
       
    66 		echo '<h2 class="screen-reader-text">' . __( 'Check secret keys' ) . '</h2>';
       
    67 
       
    68 		// Translators: 1: wp-config.php; 2: Secret key service URL.
       
    69 		echo '<p>' . sprintf( __( 'While you are editing your %1$s file, take a moment to make sure you have all 8 keys and that they are unique. You can generate these using the <a href="%2$s">WordPress.org secret key service</a>.' ), '<code>wp-config.php</code>', 'https://api.wordpress.org/secret-key/1.1/salt/' ) . '</p>';
       
    70 	}
       
    71 
    31 } elseif ( isset( $_GET['repair'] ) ) {
    72 } elseif ( isset( $_GET['repair'] ) ) {
       
    73 
       
    74 	echo '<h1 class="screen-reader-text">' . __( 'Database repair results' ) . '</h1>';
       
    75 
    32 	$optimize = 2 == $_GET['repair'];
    76 	$optimize = 2 == $_GET['repair'];
    33 	$okay = true;
    77 	$okay = true;
    34 	$problems = array();
    78 	$problems = array();
    35 
    79 
    36 	$tables = $wpdb->tables();
    80 	$tables = $wpdb->tables();
    40 	if ( is_multisite() && ! $wpdb->get_var( $query ) ) {
    84 	if ( is_multisite() && ! $wpdb->get_var( $query ) ) {
    41 		unset( $tables['sitecategories'] );
    85 		unset( $tables['sitecategories'] );
    42 	}
    86 	}
    43 
    87 
    44 	/**
    88 	/**
    45 	 * Filter additional database tables to repair.
    89 	 * Filters additional database tables to repair.
    46 	 *
    90 	 *
    47 	 * @since 3.0.0
    91 	 * @since 3.0.0
    48 	 *
    92 	 *
    49 	 * @param array $tables Array of prefixed table names to be repaired.
    93 	 * @param array $tables Array of prefixed table names to be repaired.
    50 	 */
    94 	 */
   107 		echo '<p><textarea name="errors" id="errors" rows="20" cols="60">' . esc_textarea( $problem_output ) . '</textarea></p>';
   151 		echo '<p><textarea name="errors" id="errors" rows="20" cols="60">' . esc_textarea( $problem_output ) . '</textarea></p>';
   108 	} else {
   152 	} else {
   109 		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>";
   153 		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>";
   110 	}
   154 	}
   111 } else {
   155 } else {
       
   156 
       
   157 	echo '<h1 class="screen-reader-text">' . __( 'WordPress database repair' ) . '</h1>';
       
   158 
   112 	if ( isset( $_GET['referrer'] ) && 'is_blog_installed' == $_GET['referrer'] )
   159 	if ( isset( $_GET['referrer'] ) && 'is_blog_installed' == $_GET['referrer'] )
   113 		echo '<p>' . __( 'One or more database tables are unavailable. To allow WordPress to attempt to repair these tables, press the &#8220;Repair Database&#8221; button. Repairing can take a while, so please be patient.' ) . '</p>';
   160 		echo '<p>' . __( 'One or more database tables are unavailable. To allow WordPress to attempt to repair these tables, press the &#8220;Repair Database&#8221; button. Repairing can take a while, so please be patient.' ) . '</p>';
   114 	else
   161 	else
   115 		echo '<p>' . __( 'WordPress can automatically look for some common database problems and repair them. Repairing can take a while, so please be patient.' ) . '</p>';
   162 		echo '<p>' . __( 'WordPress can automatically look for some common database problems and repair them. Repairing can take a while, so please be patient.' ) . '</p>';
   116 ?>
   163 ?>