Upgrade/Install: Automatically log users in after installation.
This change means that after entering their site's settings upon installation, users are immediately logged in and redirected to the admin dashboard, instead of being presented with the 'Success!' screen and then being asked to log in. This reduces friction and reduces the number of steps for installation. Fixes #34084 Built from https://develop.svn.wordpress.org/trunk@38619 git-svn-id: http://core.svn.wordpress.org/trunk@38562 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
037a236e42
commit
34a7bc4e67
|
@ -330,7 +330,6 @@ switch($step) {
|
|||
|
||||
$scripts_to_print[] = 'user-profile';
|
||||
|
||||
display_header();
|
||||
// Fill in the data we gathered
|
||||
$weblog_title = isset( $_POST['weblog_title'] ) ? trim( wp_unslash( $_POST['weblog_title'] ) ) : '';
|
||||
$user_name = isset($_POST['user_name']) ? trim( wp_unslash( $_POST['user_name'] ) ) : '';
|
||||
|
@ -343,21 +342,26 @@ switch($step) {
|
|||
$error = false;
|
||||
if ( empty( $user_name ) ) {
|
||||
// TODO: poka-yoke
|
||||
display_header();
|
||||
display_setup_form( __( 'Please provide a valid username.' ) );
|
||||
$error = true;
|
||||
} elseif ( $user_name != sanitize_user( $user_name, true ) ) {
|
||||
display_header();
|
||||
display_setup_form( __( 'The username you provided has invalid characters.' ) );
|
||||
$error = true;
|
||||
} elseif ( $admin_password != $admin_password_check ) {
|
||||
// TODO: poka-yoke
|
||||
display_header();
|
||||
display_setup_form( __( 'Your passwords do not match. Please try again.' ) );
|
||||
$error = true;
|
||||
} elseif ( empty( $admin_email ) ) {
|
||||
// TODO: poka-yoke
|
||||
display_header();
|
||||
display_setup_form( __( 'You must provide an email address.' ) );
|
||||
$error = true;
|
||||
} elseif ( ! is_email( $admin_email ) ) {
|
||||
// TODO: poka-yoke
|
||||
display_header();
|
||||
display_setup_form( __( 'Sorry, that isn’t a valid email address. Email addresses look like <code>username@example.com</code>.' ) );
|
||||
$error = true;
|
||||
}
|
||||
|
@ -365,6 +369,16 @@ switch($step) {
|
|||
if ( $error === false ) {
|
||||
$wpdb->show_errors();
|
||||
$result = wp_install( $weblog_title, $user_name, $admin_email, $public, '', wp_slash( $admin_password ), $loaded_language );
|
||||
|
||||
// Log the user in and send them to wp-admin:
|
||||
if ( ! headers_sent() ) {
|
||||
wp_set_auth_cookie( $result['user_id'], true, is_ssl() );
|
||||
wp_redirect( admin_url() );
|
||||
exit;
|
||||
}
|
||||
|
||||
// If headers have already been sent, fall back to a "Success!" message:
|
||||
display_header();
|
||||
?>
|
||||
|
||||
<h1><?php _e( 'Success!' ); ?></h1>
|
||||
|
|
|
@ -205,7 +205,7 @@ function wp_cookie_constants() {
|
|||
if ( $siteurl )
|
||||
define( 'COOKIEHASH', md5( $siteurl ) );
|
||||
else
|
||||
define( 'COOKIEHASH', '' );
|
||||
define( 'COOKIEHASH', md5( wp_guess_url() ) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '4.7-alpha-38618';
|
||||
$wp_version = '4.7-alpha-38619';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
|
Loading…
Reference in New Issue