WordPress.org

Make WordPress Core

Ticket #10396: 10396_c.diff

File 10396_c.diff, 12.5 KB (added by dancole, 4 years ago)

Pick user name and password

  • wp-admin/includes/upgrade.php

     
    3333 * @param null $deprecated Optional. Not used. 
    3434 * @return array Array keys 'url', 'user_id', 'password', 'password_message'. 
    3535 */ 
    36 function wp_install( $blog_title, $user_name, $user_email, $public, $deprecated = '' ) { 
     36function wp_install( $blog_title, $user_name, $user_password, $user_email, $public, $deprecated = '' ) { 
    3737        global $wp_rewrite; 
    3838 
    3939        if ( !empty( $deprecated ) ) 
     
    6060        // Create default user.  If the user already exists, the user tables are 
    6161        // being shared among blogs.  Just set the role in that case. 
    6262        $user_id = username_exists($user_name); 
    63         if ( !$user_id ) { 
    64                 $random_password = wp_generate_password(); 
     63        if ( !$user_id && $user_password == '' ) { 
     64                $user_password = wp_generate_password(); 
    6565                $message = __('<strong><em>Note that password</em></strong> carefully! It is a <em>random</em> password that was generated just for you.'); 
    66                 $user_id = wp_create_user($user_name, $random_password, $user_email); 
     66                $user_id = wp_create_user($user_name, $user_password, $user_email); 
    6767                update_usermeta($user_id, 'default_password_nag', true); 
     68        } else if ( !$user_id ) { 
     69                $message = __('<strong><em>Note that password</em></strong> carefully!'); 
     70                $user_id = wp_create_user($user_name, $user_password, $user_email); 
    6871        } else { 
    69                 $random_password = ''; 
    7072                $message =  __('User already exists.  Password inherited.'); 
    7173        } 
    7274 
     
    7779 
    7880        $wp_rewrite->flush_rules(); 
    7981 
    80         wp_new_blog_notification($blog_title, $guessurl, $user_id, $random_password); 
     82        wp_new_blog_notification($blog_title, $guessurl, $user_id, $user_password); 
    8183 
    8284        wp_cache_flush(); 
    8385 
    84         return array('url' => $guessurl, 'user_id' => $user_id, 'password' => $random_password, 'password_message' => $message); 
     86        return array('url' => $guessurl, 'user_id' => $user_id, 'password' => $user_password, 'password_message' => $message); 
    8587} 
    8688endif; 
    8789 
  • wp-admin/css/install.css

     
    1 html{background:#f7f7f7;}body{background:#fff;color:#333;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;margin:2em auto 0 auto;width:700px;padding:1em 2em;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;border:1px solid #dfdfdf;}a{color:#2583ad;text-decoration:none;}a:hover{color:#d54e21;}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px Georgia,"Times New Roman",Times,serif;margin:5px 0 0 -4px;padding:0;padding-bottom:7px;}h2{font-size:16px;}p,li{padding-bottom:2px;font-size:12px;line-height:18px;}code{font-size:13px;}ul,ol{padding:5px 5px 5px 22px;}#logo{margin:6px 0 14px 0;border-bottom:none;}.step{margin:20px 0 15px;}.step,th{text-align:left;padding:0;}.submit input,.button,.button-secondary{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;text-decoration:none;font-size:14px!important;line-height:16px;padding:6px 12px;cursor:pointer;border:1px solid #bbb;color:#464646;-moz-border-radius:15px;-khtml-border-radius:15px;-webkit-border-radius:15px;border-radius:15px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-khtml-box-sizing:content-box;box-sizing:content-box;}.button:hover,.button-secondary:hover,.submit input:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}.form-table{border-collapse:collapse;margin-top:1em;width:100%;}.form-table td{margin-bottom:9px;padding:10px;border-bottom:8px solid #fff;font-size:12px;}.form-table th{font-size:13px;text-align:left;padding:16px 10px 10px 10px;border-bottom:8px solid #fff;width:110px;vertical-align:top;}.form-table tr{background:#f3f3f3;}.form-table code{line-height:18px;font-size:18px;}.form-table p{margin:4px 0 0 0;font-size:11px;}.form-table input{line-height:20px;font-size:15px;padding:2px;}#error-page{margin-top:50px;}#error-page p{font-size:12px;line-height:18px;margin:25px 0 20px;}#error-page code{font-family:Consolas,Monaco,Courier,monospace;} 
    2  No newline at end of file 
     1html{background:#f7f7f7;}body{background:#fff;color:#333;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;margin:2em auto 0 auto;width:700px;padding:1em 2em;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;border:1px solid #dfdfdf;}a{color:#2583ad;text-decoration:none;}a:hover{color:#d54e21;}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px Georgia,"Times New Roman",Times,serif;margin:5px 0 0 -4px;padding:0;padding-bottom:7px;}h2{font-size:16px;}p,li{padding-bottom:2px;font-size:12px;line-height:18px;}code{font-size:13px;}ul,ol{padding:5px 5px 5px 22px;}#logo{margin:6px 0 14px 0;border-bottom:none;}.step{margin:20px 0 15px;}.step,th{text-align:left;padding:0;}.submit input,.button,.button-secondary{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;text-decoration:none;font-size:14px!important;line-height:16px;padding:6px 12px;cursor:pointer;border:1px solid #bbb;color:#464646;-moz-border-radius:15px;-khtml-border-radius:15px;-webkit-border-radius:15px;border-radius:15px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-khtml-box-sizing:content-box;box-sizing:content-box;}.button:hover,.button-secondary:hover,.submit input:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}.form-table{border-collapse:collapse;margin-top:1em;width:100%;}.form-table td{margin-bottom:9px;padding:10px;border-bottom:8px solid #fff;font-size:12px;}.form-table th{font-size:13px;text-align:left;padding:16px 10px 10px 10px;border-bottom:8px solid #fff;width:110px;vertical-align:top;}.form-table tr{background:#f3f3f3;}.form-table code{line-height:18px;font-size:18px;}.form-table p{margin:4px 0 0 0;font-size:11px;}.form-table input{line-height:20px;font-size:15px;padding:2px;}#error-page{margin-top:50px;}#error-page p{font-size:12px;line-height:18px;margin:25px 0 20px;}#error-page code{font-family:Consolas,Monaco,Courier,monospace;}#pass-strength-result {background-color: #EEEEEE;border-color: #DDDDDD !important;border-style: solid;border-width: 1px;float: left;margin: 12px 5px 5px 1px;padding: 5px;text-align: center;width: 200px;}#pass-strength-result.bad {background-color: #FFB78C;border-color: #FF853C !important;}#pass-strength-result.good {background-color: #FFEC8B;border-color: #FFCC00 !important;}#pass-strength-result.short {background-color: #FFA0A0;border-color: #F04040 !important;}#pass-strength-result.strong {background-color: #C3FF88;border-color: #8DFF1C !important;} 
  • wp-admin/css/install.dev.css

     
    131131} 
    132132 
    133133#error-page code { font-family: Consolas, Monaco, Courier, monospace; } 
     134 
     135#pass-strength-result { 
     136        background-color: #EEEEEE; 
     137        border-color: #DDDDDD !important; 
     138        border-style: solid; 
     139        border-width: 1px; 
     140        float: left; 
     141        margin: 12px 5px 5px 1px; 
     142        padding: 5px; 
     143        text-align: center; 
     144        width: 200px; 
     145} 
     146 
     147#pass-strength-result.bad { 
     148        background-color: #FFB78C; 
     149        border-color: #FF853C !important; 
     150} 
     151 
     152#pass-strength-result.good { 
     153        background-color: #FFEC8B; 
     154        border-color: #FFCC00 !important; 
     155} 
     156 
     157#pass-strength-result.short { 
     158        background-color: #FFA0A0; 
     159        border-color: #F04040 !important; 
     160} 
     161 
     162#pass-strength-result.strong { 
     163        background-color: #C3FF88; 
     164        border-color: #8DFF1C !important; 
     165} 
  • wp-admin/install.php

     
    6666                        <td><input name="weblog_title" type="text" id="weblog_title" size="25" value="<?php echo ( isset($_POST['weblog_title']) ? esc_attr($_POST['weblog_title']) : '' ); ?>" /></td> 
    6767                </tr> 
    6868                <tr> 
     69                        <th scope="row"><label for="user_name"><?php _e('User Name'); ?></label></th> 
     70                        <td> 
     71                        <?php if ( count( get_users_of_blog() ) > 0 ) { echo 'An user already exists. <input type="hidden" id="user_name" value="admin" />'; } else { ?><input name="user_name" type="text" id="user_login" size="25" value="<?php echo ( isset($_POST['user_name']) ? esc_attr($_POST['user_name']) : 'admin' ); ?>" /><?php } ?> 
     72                        </td> 
     73                </tr> 
     74                <tr> 
     75                        <th scope="row"><label for="admin_password"><?php _e('Password'); ?></label></th> 
     76                        <td> 
     77                                <?php if ( count( get_users_of_blog() ) > 0 ) {  
     78                                        echo 'If you forget your password you can recover it. <input type="hidden" id="user_name" value="admin" />';  
     79                                } 
     80                                else { 
     81                                        ?><input name="admin_password" type="password" id="pass1" size="25" value="<?php echo ( isset($_POST['admin_password']) ? esc_attr($_POST['admin_password']) : '' ); ?>" /> 
     82                                        <br /><?php _e('A password will be automatically generated for you if this field is blank.'); ?> 
     83                                        <br /><div id="pass-strength-result"><?php _e('Strength indicator'); ?></div> 
     84                                        <p class="description indicator-hint"><?php _e('Hint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ &amp; ).'); ?></p><?php  
     85                                } ?> 
     86                        </td> 
     87                </tr> 
     88                <tr> 
    6989                        <th scope="row"><label for="admin_email"><?php _e('Your E-mail'); ?></label></th> 
    7090                        <td><input name="admin_email" type="text" id="admin_email" size="25" value="<?php echo ( isset($_POST['admin_email']) ? esc_attr($_POST['admin_email']) : '' ); ?>" /><br /> 
    7191                        <?php _e('Double-check your email address before continuing.'); ?></td> 
     
    123143                display_header(); 
    124144                // Fill in the data we gathered 
    125145                $weblog_title = isset($_POST['weblog_title']) ? stripslashes($_POST['weblog_title']) : ''; 
     146                $user_name = isset($_POST['user_name']) ? stripslashes($_POST['user_name']) : ''; 
     147                $admin_password = isset($_POST['admin_password']) ? stripslashes($_POST['admin_password']) : ''; 
    126148                $admin_email = isset($_POST['admin_email']) ? stripslashes($_POST['admin_email']) : ''; 
    127149                $public = isset($_POST['blog_public']) ? (int) $_POST['blog_public'] : 0; 
    128150                // check e-mail address 
    129151                $error = false; 
    130                 if (empty($admin_email)) { 
     152                if ( empty( $user_name ) ) { 
    131153                        // TODO: poka-yoke 
     154                        display_setup_form( __('you must provide a valid user name.') ); 
     155                        $error = true; 
     156                } else if ( empty( $admin_email ) ) { 
     157                        // TODO: poka-yoke 
    132158                        display_setup_form( __('you must provide an e-mail address.') ); 
    133159                        $error = true; 
    134                 } else if (!is_email($admin_email)) { 
     160                } else if ( !is_email( $admin_email ) ) { 
    135161                        // TODO: poka-yoke 
    136162                        display_setup_form( __('that isn&#8217;t a valid e-mail address.  E-mail addresses look like: <code>username@example.com</code>') ); 
    137163                        $error = true; 
     
    139165 
    140166                if ( $error === false ) { 
    141167                        $wpdb->show_errors(); 
    142                         $result = wp_install($weblog_title, 'admin', $admin_email, $public); 
     168                        $result = wp_install($weblog_title, $user_name, $admin_password, $admin_email, $public); 
    143169                        extract($result, EXTR_SKIP); 
    144170?> 
    145171 
     
    150176<table class="form-table"> 
    151177        <tr> 
    152178                <th><?php _e('Username'); ?></th> 
    153                 <td><code>admin</code></td> 
     179                <td><code><?php echo $user_name; ?></code></td> 
    154180        </tr> 
    155181        <tr> 
    156182                <th><?php _e('Password'); ?></th> 
     
    168194                break; 
    169195} 
    170196?> 
     197<script type="text/javascript" src="../wp-includes/js/jquery/jquery.js"></script> 
    171198<script type="text/javascript">var t = document.getElementById('weblog_title'); if (t){ t.focus(); }</script> 
     199<script type='text/javascript'> 
     200/* <![CDATA[ */ 
     201var commonL10n = { 
     202 warnDelete: "You are about to permanently delete the selected items.\n \'Cancel\' to stop, \'OK\' to delete." 
     203}; 
     204try{convertEntities(commonL10n);}catch(e){}; 
     205var pwsL10n = { 
     206 empty: "Strength indicator", 
     207 short: "Very weak", 
     208 bad: "Weak", 
     209 good: "Medium", 
     210 strong: "Strong" 
     211}; 
     212try{convertEntities(pwsL10n);}catch(e){}; 
     213/* ]]> */ 
     214</script>  
     215<script type="text/javascript" src="js/password-strength-meter.js"></script> 
     216<script type="text/javascript" src="js/user-profile.js"></script> 
    172217</body> 
    173218</html>