Ticket #24633: 24633.21.patch
File 24633.21.patch, 7.4 KB (added by , 10 years ago) |
---|
-
src/wp-admin/admin-ajax.php
61 61 'query-attachments', 'save-attachment', 'save-attachment-compat', 'send-link-to-editor', 62 62 'send-attachment-to-editor', 'save-attachment-order', 'heartbeat', 'get-revision-diffs', 63 63 'save-user-color-scheme', 'update-widget', 'query-themes', 'parse-embed', 'set-attachment-thumbnail', 64 'parse-media-shortcode', 'destroy-sessions' 64 'parse-media-shortcode', 'destroy-sessions', 'generate_password', 65 65 ); 66 66 67 67 // Register core Ajax calls. -
src/wp-admin/css/forms.css
462 462 border-color: #8dff1c; 463 463 } 464 464 465 .indicator-hint {466 padding -top: 8px;465 #password2 .indicator-hint { 466 padding: 4px 0 0 220px; 467 467 } 468 468 469 469 p.search-box { … … 671 671 cursor: pointer; 672 672 } 673 673 674 .form-table tr#password td, 675 .form-table tr#password2 td { 676 padding: 0 10px; 677 } 678 .form-table tr#password2 th, 679 .form-table tr#password th { 680 padding: 0 10px 20px 0px; 681 } 682 674 683 /*------------------------------------------------------------------------------ 675 684 19.0 - Tools 676 685 ------------------------------------------------------------------------------*/ … … 1008 1017 .form-field #domain { 1009 1018 max-width: none; 1010 1019 } 1020 1021 #password2 .indicator-hint { 1022 padding-left: 0; 1023 } 1011 1024 } 1012 1025 1013 1026 @media only screen and (max-width: 768px) { -
src/wp-admin/includes/ajax-actions.php
2819 2819 ) ); 2820 2820 2821 2821 } 2822 2823 /** 2824 * Generates a password via ajax 2825 * 2826 * @since 4.1.0 2827 */ 2828 function wp_ajax_generate_password() { 2829 wp_die( wp_generate_password( 30 ) ); 2830 } -
src/wp-admin/includes/user.php
174 174 175 175 if ( $update ) { 176 176 $user_id = wp_update_user( $user ); 177 178 // Encourage the user to reset their password 179 if( ! empty( $_POST['reset_password'] ) ) { 180 update_user_option( $user_id, 'default_password_nag', true, true ); 181 } 182 183 // Send the new, plaintext password to the user 184 if( ! empty( $_POST['send_password'] ) ) { 185 $blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ); 186 $message = sprintf( __( 'Username: %s' ), $user->user_login ) . "\r\n"; 187 $message .= sprintf( __( 'Password: %s' ), $pass1 ) . "\r\n"; 188 $message .= wp_login_url() . "\r\n"; 189 190 wp_mail( $user->user_email, sprintf( __( '[%s] Your username and password' ), $blogname ), $message ); 191 } 192 177 193 } else { 178 194 $user_id = wp_insert_user( $user ); 179 195 wp_new_user_notification( $user_id, isset( $_POST['send_password'] ) ? wp_unslash( $pass1 ) : '' ); -
src/wp-admin/js/user-profile.js
32 32 33 33 $(document).ready( function() { 34 34 var $colorpicker, $stylesheet, user_id, current_user_id, 35 select = $( '#display_name' ) ;35 select = $( '#display_name' ), 36 36 37 $('#pass1').val('').keyup( check_pass_strength ); 38 $('#pass2').val('').keyup( check_pass_strength ); 37 /* Passwords */ 38 39 /** 40 * Add a Generate Password button 41 * Add a show password icon to view password when editing own profile 42 * @since 4.1.0 43 */ 44 $pass1 = $( '#pass1' ), 45 $pass2 = $( '#pass2' ), 46 password_repeat = $( '.password-repeat' ); 47 48 $pass2.val('').keyup( check_pass_strength ); 49 50 // Handle user entering password 51 $pass1.val('').on( 'blur', function() { 52 check_pass_strength(); 53 // Ensure fireld type is password 54 if ( 'text' === $pass1.attr( 'type' ) ) { 55 $pass1.attr( 'type', 'password' ); 56 } 57 if ( 'text' === $pass2.attr( 'type' ) ) { 58 $pass2.attr( 'type', 'password' ); 59 } 60 }); 61 62 // Handle the Generate Password button 63 $( '#generate-password' ).on('click', function() { 64 // Send an ajax request to the server to get a new password 65 $.post( ajaxurl, { action: 'generate_password' }, function(response) { 66 $pass1.val( response ).trigger( 'keyup' ); 67 $pass2.val( response ); 68 check_pass_strength(); 69 $pass1.attr( 'type', 'text' ); 70 $pass2.attr( 'type', 'text' ); 71 $pass1.focus().select(); 72 }); 73 }); 74 39 75 $('#pass-strength-result').show(); 76 77 /* End Passwords */ 78 40 79 $('.color-palette').click( function() { 41 80 $(this).siblings('input[name="admin_color"]').prop('checked', true); 42 81 }); -
src/wp-admin/user-edit.php
473 473 <tr id="password" class="user-pass1-wrap"> 474 474 <th><label for="pass1"><?php _e( 'New Password' ); ?></label></th> 475 475 <td> 476 <input class="hidden" value=" " /><!-- #24364 workaround --> 477 <input type="password" name="pass1" id="pass1" class="regular-text" size="16" value="" autocomplete="off" /> 478 <p class="description"><?php _e( 'If you would like to change the password type a new one. Otherwise leave this blank.' ); ?></p> 476 <input type="password" name="pass1" id="pass1" class="regular-text" value="" autocomplete="off" /> 477 <input type="button" name="generate-password" id="generate-password" value="<?php _e( 'Generate Password' ); ?>" class="button hide-if-no-js" /> 479 478 </td> 480 479 </tr> 481 <tr class="user-pass2-wrap">482 <th scope="row"><labelfor="pass2"><?php _e( 'Repeat New Password' ); ?></label></th>480 <tr id="password2" class="user-pass2-wrap"> 481 <th><label class="password-repeat" for="pass2"><?php _e( 'Repeat New Password' ); ?></label></th> 483 482 <td> 484 <input name="pass2" type="password" id="pass2" class="regular-text" size="16" value="" autocomplete="off" /> 485 <p class="description"><?php _e( 'Type your new password again.' ); ?></p> 486 <br /> 487 <div id="pass-strength-result"><?php _e( 'Strength indicator' ); ?></div> 488 <p class="description indicator-hint"><?php echo _wp_get_password_hint(); ?></p> 483 <div class="password-repeat"> 484 <input name="pass2" type="password" id="pass2" class="regular-text" value="" autocomplete="off" /> 485 <br /> 486 <div id="pass-strength-result"><?php _e( 'Strength indicator' ); ?></div> 487 <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 ! " ? $ % ^ & ).' ); ?></p> 488 </div> 489 <p class="description"><?php _e( 'If you would like to change the password type or generate a new one. Otherwise leave this blank.' ); ?></p> 490 <?php if( ! IS_PROFILE_PAGE ) { ?> 491 <p class="hide-if-no-js"> 492 <label for="send_password"> 493 <input type="checkbox" name="send_password" id="send_password" value="1" /> <?php _e( 'Send this password to the user by email.' ); ?> 494 </label> 495 <br /> 496 <label for="reset_password"> 497 <input type="checkbox" name="reset_password" id="reset_password" value="1" /> <?php _e( 'Encourage the user to change their password, once logged in.' ); ?> 498 </label> 499 </p> 500 <?php } ?> 489 501 </td> 490 502 </tr> 491 503 <?php endif; ?>