wp/wp-admin/maint/repair.php
changeset 7 cf61fcea0001
parent 5 5e2f62d02dcd
child 9 177826044cd9
--- a/wp/wp-admin/maint/repair.php	Tue Jun 09 11:14:17 2015 +0000
+++ b/wp/wp-admin/maint/repair.php	Mon Oct 14 17:39:30 2019 +0200
@@ -16,19 +16,63 @@
 <head>
 	<meta name="viewport" content="width=device-width" />
 	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta name="robots" content="noindex,nofollow" />
 	<title><?php _e( 'WordPress &rsaquo; Database Repair' ); ?></title>
 	<?php
 	wp_admin_css( 'install', true );
 	?>
 </head>
 <body class="wp-core-ui">
-<h1 id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>" tabindex="-1"><?php _e( 'WordPress' ); ?></a></h1>
+<p id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>" tabindex="-1"><?php _e( 'WordPress' ); ?></a></p>
 
 <?php
 
 if ( ! defined( 'WP_ALLOW_REPAIR' ) ) {
-	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>";
+
+	echo '<h1 class="screen-reader-text">' . __( 'Allow automatic database repair' ) . '</h1>';
+
+	echo '<p>';
+	printf(
+		/* translators: %s: wp-config.php */
+		__( '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.' ),
+		'<code>wp-config.php</code>'
+	);
+	echo "</p><p><code>define('WP_ALLOW_REPAIR', true);</code></p>";
+
+	$default_key     = 'put your unique phrase here';
+	$missing_key     = false;
+	$duplicated_keys = array();
+
+	foreach ( array( 'AUTH_KEY', 'SECURE_AUTH_KEY', 'LOGGED_IN_KEY', 'NONCE_KEY', 'AUTH_SALT', 'SECURE_AUTH_SALT', 'LOGGED_IN_SALT', 'NONCE_SALT' ) as $key ) {
+		if ( defined( $key ) ) {
+			// Check for unique values of each key.
+			$duplicated_keys[ constant( $key ) ] = isset( $duplicated_keys[ constant( $key ) ] );
+		} else {
+			// If a constant is not defined, it's missing.
+			$missing_key = true;
+		}
+	}
+
+	// If at least one key uses the default value, consider it duplicated.
+	if ( isset( $duplicated_keys[ $default_key ] ) ) {
+		$duplicated_keys[ $default_key ] = true;
+	}
+
+	// Weed out all unique, non-default values.
+	$duplicated_keys = array_filter( $duplicated_keys );
+
+	if ( $duplicated_keys || $missing_key ) {
+
+		echo '<h2 class="screen-reader-text">' . __( 'Check secret keys' ) . '</h2>';
+
+		// Translators: 1: wp-config.php; 2: Secret key service URL.
+		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>';
+	}
+
 } elseif ( isset( $_GET['repair'] ) ) {
+
+	echo '<h1 class="screen-reader-text">' . __( 'Database repair results' ) . '</h1>';
+
 	$optimize = 2 == $_GET['repair'];
 	$okay = true;
 	$problems = array();
@@ -42,7 +86,7 @@
 	}
 
 	/**
-	 * Filter additional database tables to repair.
+	 * Filters additional database tables to repair.
 	 *
 	 * @since 3.0.0
 	 *
@@ -109,6 +153,9 @@
 		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>";
 	}
 } else {
+
+	echo '<h1 class="screen-reader-text">' . __( 'WordPress database repair' ) . '</h1>';
+
 	if ( isset( $_GET['referrer'] ) && 'is_blog_installed' == $_GET['referrer'] )
 		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>';
 	else