Ticket #24633: 24633.10.patch
File 24633.10.patch, 7.3 KB (added by , 10 years ago) |
---|
-
src/wp-admin/admin-ajax.php
60 60 'wp-remove-post-lock', 'dismiss-wp-pointer', 'upload-attachment', 'get-attachment', 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 'save-user-color-scheme', ' update-widget', 'query-themes', 'parse-embed', 'set-attachment-thumbnail'63 'save-user-color-scheme', 'generate_password', 'update-widget', 'query-themes', 'parse-embed', 'set-attachment-thumbnail' 64 64 ); 65 65 66 66 // Register core Ajax calls. -
src/wp-admin/includes/ajax-actions.php
2666 2666 2667 2667 wp_send_json_success( $parsed ); 2668 2668 } 2669 2670 /** 2671 * Generates a password via ajax 2672 * 2673 * @since 4.0.0 2674 */ 2675 function wp_ajax_generate_password() { 2676 die( wp_generate_password() ); 2677 } 2678 No newline at end of file -
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
33 33 $(document).ready( function() { 34 34 var $colorpicker, $stylesheet, user_id, current_user_id, 35 35 select = $( '#display_name' ); 36 37 /* Passwords */ 36 38 37 $('#pass1').val('').keyup( check_pass_strength ); 38 $('#pass2').val('').keyup( check_pass_strength ); 39 var show_password = $('#show-password'), 40 hide_password = $('#hide-password'), 41 pass1 = $('#pass1'), 42 pass2 = $('#pass2'), 43 password_repeat = $('#password-repeat'); 44 45 pass1.val('').keyup(function(e) { 46 check_pass_strength(); 47 changed = true; 48 49 if ( 'text' == pass1.attr('type') ) { 50 pass2.attr('type', 'text'); 51 } 52 password_repeat.show(); 53 }); 54 pass2.val('').keyup( check_pass_strength ); 55 56 $('#generate-password').on('click', function() { 57 if ( 'profile' == pagenow ) { 58 // User's own password 59 pass1.attr('type', 'text'); 60 pass2.attr('type', 'text'); 61 } else { 62 pass1.attr('type', 'password'); 63 pass2.attr('type', 'password'); 64 } 65 $.post( ajaxurl, { action: 'generate_password' }, function( response ) { 66 pass1.val( response ).trigger('keyup'); 67 pass2.val( response ).trigger('keyup'); 68 if( 'profile' == pagenow ) { 69 // User's own password 70 hide_password.show(); 71 show_password.hide(); 72 } else { 73 hide_password.hide(); 74 show_password.show(); 75 } 76 pass1.focus(); 77 password_repeat.hide(); 78 }); 79 }); 80 show_password.on('click', function(e) { 81 show_password.hide(); 82 hide_password.show(); 83 e.preventDefault(); 84 pass1.attr('type', 'text'); 85 pass2.attr('type', 'text'); 86 }); 87 hide_password.on('click', function(e) { 88 hide_password.hide(); 89 show_password.show(); 90 e.preventDefault(); 91 pass1.attr('type', 'password'); 92 pass2.attr('type', 'password'); 93 }); 94 39 95 $('#pass-strength-result').show(); 96 97 /* End Passwords */ 98 40 99 $('.color-palette').click( function() { 41 100 $(this).siblings('input[name="admin_color"]').prop('checked', true); 42 101 }); -
src/wp-admin/user-edit.php
459 459 <th><label for="pass1"><?php _e( 'New Password' ); ?></label></th> 460 460 <td> 461 461 <input class="hidden" value=" " /><!-- #24364 workaround --> 462 <input type="password" name="pass1" id="pass1" class="regular-text" size="16" value="" autocomplete="off" /><br /> 463 <span class="description"><?php _e( 'If you would like to change the password type a new one. Otherwise leave this blank.' ); ?></span> 464 </td> 462 <input type="password" name="pass1" id="pass1" size="16" value="" autocomplete="off" /> 463 <input type="button" name="generate-password" id="generate-password" value="<?php _e( 'Generate Password' ); ?>" class="button hide-if-no-js" /> 464 <a href="#show-password" id="show-password" class="hidden"><?php _e( 'Show Password' ); ?></a> 465 <a href="#hide-password" id="hide-password" class="hidden"><?php _e( 'Hide Password' ); ?></a> 466 <div id="password-repeat" class="hidden"> 467 <input name="pass2" type="password" id="pass2" size="16" value="" autocomplete="off" /> 468 <label for="pass2"><?php _e( 'Repeat New Password' ); ?></label> 469 <br /> 470 <div id="pass-strength-result"><?php _e( 'Strength indicator' ); ?></div> 471 <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> 472 </div> 473 <p class="description"><?php _e( 'If you would like to change the password type or generate a new one. Otherwise leave this blank.' ); ?></p> 474 <?php if( ! IS_PROFILE_PAGE ) { ?> 475 <p class="hide-if-no-js"> 476 <label for="send_password"> 477 <input type="checkbox" name="send_password" id="send_password" value="1" /> <?php _e( 'Send this password to the user by email.' ); ?> 478 </label> 479 <br /> 480 <label for="reset_password"> 481 <input type="checkbox" name="reset_password" id="reset_password" value="1" /> <?php _e( 'Encourage the user to change their password, once logged in.' ); ?> 482 </label> 483 </p> 484 <?php } ?> 485 </td> 465 486 </tr> 466 <tr>467 <th scope="row"><label for="pass2"><?php _e( 'Repeat New Password' ); ?></label></th>468 <td>469 <input name="pass2" type="password" id="pass2" class="regular-text" size="16" value="" autocomplete="off" /><br />470 <span class="description" for="pass2"><?php _e( 'Type your new password again.' ); ?></span>471 <br />472 <div id="pass-strength-result"><?php _e( 'Strength indicator' ); ?></div>473 <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>474 </td>475 </tr>476 487 <?php endif; ?> 477 488 </table> 478 489