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 › Database Repair' ); ?></title> |
20 <title><?php _e( 'WordPress › 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(); |
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 “Repair Database” 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 “Repair Database” 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 ?> |