--- a/wp/wp-admin/install.php Thu Sep 29 08:06:27 2022 +0200
+++ b/wp/wp-admin/install.php Fri Sep 05 18:40:08 2025 +0200
@@ -6,7 +6,7 @@
* @subpackage Administration
*/
-// Sanity check.
+// Confidence check.
if ( false ) {
?>
<!DOCTYPE html>
@@ -42,7 +42,7 @@
require_once ABSPATH . 'wp-admin/includes/translation-install.php';
/** Load wpdb */
-require_once ABSPATH . WPINC . '/wp-db.php';
+require_once ABSPATH . WPINC . '/class-wpdb.php';
nocache_headers();
@@ -80,7 +80,7 @@
} // End display_header().
/**
- * Display installer setup form.
+ * Displays installer setup form.
*
* @since 2.8.0
*
@@ -96,7 +96,7 @@
// Ensure that sites appear in search engines by default.
$blog_public = 1;
if ( isset( $_POST['weblog_title'] ) ) {
- $blog_public = isset( $_POST['blog_public'] );
+ $blog_public = isset( $_POST['blog_public'] ) ? (int) $_POST['blog_public'] : $blog_public;
}
$weblog_title = isset( $_POST['weblog_title'] ) ? trim( wp_unslash( $_POST['weblog_title'] ) ) : '';
@@ -123,8 +123,8 @@
echo '<input name="user_name" type="hidden" value="admin" />';
} else {
?>
- <input name="user_name" type="text" id="user_login" size="25" value="<?php echo esc_attr( sanitize_user( $user_name, true ) ); ?>" />
- <p><?php _e( 'Usernames can have only alphanumeric characters, spaces, underscores, hyphens, periods, and the @ symbol.' ); ?></p>
+ <input name="user_name" type="text" id="user_login" size="25" aria-describedby="user-name-desc" value="<?php echo esc_attr( sanitize_user( $user_name, true ) ); ?>" />
+ <p id="user-name-desc"><?php _e( 'Usernames can have only alphanumeric characters, spaces, underscores, hyphens, periods, and the @ symbol.' ); ?></p>
<?php
}
?>
@@ -140,14 +140,16 @@
<td>
<div class="wp-pwd">
<?php $initial_password = isset( $_POST['admin_password'] ) ? stripslashes( $_POST['admin_password'] ) : wp_generate_password( 18 ); ?>
- <input type="password" name="admin_password" id="pass1" class="regular-text" autocomplete="new-password" data-reveal="1" data-pw="<?php echo esc_attr( $initial_password ); ?>" aria-describedby="pass-strength-result" />
+ <div class="password-input-wrapper">
+ <input type="password" name="admin_password" id="pass1" class="regular-text" autocomplete="new-password" spellcheck="false" data-reveal="1" data-pw="<?php echo esc_attr( $initial_password ); ?>" aria-describedby="pass-strength-result admin-password-desc" />
+ <div id="pass-strength-result" aria-live="polite"></div>
+ </div>
<button type="button" class="button wp-hide-pw hide-if-no-js" data-start-masked="<?php echo (int) isset( $_POST['admin_password'] ); ?>" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password' ); ?>">
<span class="dashicons dashicons-hidden"></span>
<span class="text"><?php _e( 'Hide' ); ?></span>
</button>
- <div id="pass-strength-result" aria-live="polite"></div>
</div>
- <p><span class="description important hide-if-no-js">
+ <p id="admin-password-desc"><span class="description important hide-if-no-js">
<strong><?php _e( 'Important:' ); ?></strong>
<?php /* translators: The non-breaking space prevents 1Password from thinking the text "log in" should trigger a password save prompt. */ ?>
<?php _e( 'You will need this password to log in. Please store it in a secure location.' ); ?></span></p>
@@ -160,7 +162,7 @@
</label>
</th>
<td>
- <input name="admin_password2" type="password" id="pass2" autocomplete="new-password" />
+ <input type="password" name="admin_password2" id="pass2" autocomplete="new-password" spellcheck="false" />
</td>
</tr>
<tr class="pw-weak">
@@ -175,30 +177,38 @@
<?php endif; ?>
<tr>
<th scope="row"><label for="admin_email"><?php _e( 'Your Email' ); ?></label></th>
- <td><input name="admin_email" type="email" id="admin_email" size="25" value="<?php echo esc_attr( $admin_email ); ?>" />
- <p><?php _e( 'Double-check your email address before continuing.' ); ?></p></td>
+ <td><input name="admin_email" type="email" id="admin_email" size="25" aria-describedby="admin-email-desc" value="<?php echo esc_attr( $admin_email ); ?>" />
+ <p id="admin-email-desc"><?php _e( 'Double-check your email address before continuing.' ); ?></p></td>
</tr>
<tr>
<th scope="row"><?php has_action( 'blog_privacy_selector' ) ? _e( 'Site visibility' ) : _e( 'Search engine visibility' ); ?></th>
<td>
<fieldset>
- <legend class="screen-reader-text"><span><?php has_action( 'blog_privacy_selector' ) ? _e( 'Site visibility' ) : _e( 'Search engine visibility' ); ?> </span></legend>
+ <legend class="screen-reader-text"><span>
+ <?php
+ has_action( 'blog_privacy_selector' )
+ /* translators: Hidden accessibility text. */
+ ? _e( 'Site visibility' )
+ /* translators: Hidden accessibility text. */
+ : _e( 'Search engine visibility' );
+ ?>
+ </span></legend>
<?php
if ( has_action( 'blog_privacy_selector' ) ) {
?>
<input id="blog-public" type="radio" name="blog_public" value="1" <?php checked( 1, $blog_public ); ?> />
- <label for="blog-public"><?php _e( 'Allow search engines to index this site' ); ?></label><br/>
- <input id="blog-norobots" type="radio" name="blog_public" value="0" <?php checked( 0, $blog_public ); ?> />
+ <label for="blog-public"><?php _e( 'Allow search engines to index this site' ); ?></label><br />
+ <input id="blog-norobots" type="radio" name="blog_public" aria-describedby="public-desc" value="0" <?php checked( 0, $blog_public ); ?> />
<label for="blog-norobots"><?php _e( 'Discourage search engines from indexing this site' ); ?></label>
- <p class="description"><?php _e( 'Note: Neither of these options blocks access to your site — it is up to search engines to honor your request.' ); ?></p>
+ <p id="public-desc" class="description"><?php _e( 'Note: Discouraging search engines does not block access to your site — it is up to search engines to honor your request.' ); ?></p>
<?php
/** This action is documented in wp-admin/options-reading.php */
do_action( 'blog_privacy_selector' );
} else {
?>
- <label for="blog_public"><input name="blog_public" type="checkbox" id="blog_public" value="0" <?php checked( 0, $blog_public ); ?> />
+ <label for="blog_public"><input name="blog_public" type="checkbox" id="blog_public" aria-describedby="privacy-desc" value="0" <?php checked( 0, $blog_public ); ?> />
<?php _e( 'Discourage search engines from indexing this site' ); ?></label>
- <p class="description"><?php _e( 'It is up to search engines to honor this request.' ); ?></p>
+ <p id="privacy-desc" class="description"><?php _e( 'It is up to search engines to honor this request.' ); ?></p>
<?php } ?>
</fieldset>
</td>
@@ -216,7 +226,7 @@
die(
'<h1>' . __( 'Already Installed' ) . '</h1>' .
'<p>' . __( 'You appear to have already installed WordPress. To reinstall please clear your old database tables first.' ) . '</p>' .
- '<p class="step"><a href="' . esc_url( wp_login_url() ) . '" class="button button-large">' . __( 'Log In' ) . '</a></p>' .
+ '<p class="step"><a href="' . esc_url( wp_login_url() ) . '">' . __( 'Log In' ) . '</a></p>' .
'</body></html>'
);
}
@@ -225,17 +235,18 @@
* @global string $wp_version The WordPress version string.
* @global string $required_php_version The required PHP version string.
* @global string $required_mysql_version The required MySQL version string.
+ * @global wpdb $wpdb WordPress database abstraction object.
*/
-global $wp_version, $required_php_version, $required_mysql_version;
+global $wp_version, $required_php_version, $required_mysql_version, $wpdb;
-$php_version = phpversion();
+$php_version = PHP_VERSION;
$mysql_version = $wpdb->db_version();
$php_compat = version_compare( $php_version, $required_php_version, '>=' );
$mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );
$version_url = sprintf(
/* translators: %s: WordPress version. */
- esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ),
+ esc_url( __( 'https://wordpress.org/documentation/wordpress-version/version-%s/' ) ),
sanitize_title( $wp_version )
);
@@ -318,7 +329,7 @@
*/
$language = '';
if ( ! empty( $_REQUEST['language'] ) ) {
- $language = preg_replace( '/[^a-zA-Z0-9_]/', '', $_REQUEST['language'] );
+ $language = sanitize_locale_name( $_REQUEST['language'] );
} elseif ( isset( $GLOBALS['wp_local_package'] ) ) {
$language = $GLOBALS['wp_local_package'];
}
@@ -434,7 +445,7 @@
</tr>
</table>
-<p class="step"><a href="<?php echo esc_url( wp_login_url() ); ?>" class="button button-large"><?php _e( 'Log In' ); ?></a></p>
+<p class="step"><a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log In' ); ?></a></p>
<?php
}