Make WordPress Core

Ticket #32589: regeneratepw.patch

File regeneratepw.patch, 4.3 KB (added by tje3d, 9 years ago)

Regenerate password without refresh

  • wp-admin/includes/ajax-actions.php

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    326326        wp_die( 1 );
    327327}
    328328
     329/**
     330 * Ajax handler for profile password
     331 *
     332 * @since 4.3
     333 */
     334function wp_ajax_new_password() {
     335    $return = array(
     336        'newpassword' => wp_generate_password( 24 )
     337    );
     338    wp_send_json( $return );
     339}
     340
    329341//
    330342// Ajax helpers.
    331343//
  • wp-admin/admin-ajax.php

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    4545
    4646$core_actions_get = array(
    4747        'fetch-list', 'ajax-tag-search', 'wp-compression-test', 'imgedit-preview', 'oembed-cache',
    48         'autocomplete-user', 'dashboard-widgets', 'logged-in',
     48        'autocomplete-user', 'dashboard-widgets', 'logged-in', 'new-password'
    4949);
    5050
    5151$core_actions_post = array(
  • wp-admin/js/user-profile.js

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    1313                        pw_submitbtn_edit = $('#submit'),
    1414                        pw_submitbtn_new = $( '#createusersub' ),
    1515                        pw_checkbox = $('.pw-checkbox'),
    16                         pw_weak = $('.pw-weak')
     16                        pw_weak = $('.pw-weak'),
     17            pw_firsttime = true
    1718                ;
    1819
    1920                var generatePassword = window.generatePassword = function() {
    2021                        if ( typeof zxcvbn !== 'function' ) {
    2122                                setTimeout( generatePassword, 50 );
    2223                        } else {
    23                                 pw_field.val( pw_field.data( 'pw' ) );
    24                                 pw_field.trigger( 'propertychange' );
    25                                 pw_field.attr( 'type', 'text' ).focus();
    26                                 pw_field[0].setSelectionRange(100, 100);
    27                         }
     24
     25                if( !pw_firsttime ) {
     26
     27                    $.ajax({
     28                        url: ajaxurl,
     29                        global: false,
     30                        dataType: 'json',
     31                        data: {'action': 'new-password'},
     32                        success: function(response) {
     33                            pw_field.val( response.newpassword );
     34                            pw_field.trigger( 'propertychange' );
     35                            pw_field.attr( 'type', 'text' ).focus();
     36                            pw_field[0].setSelectionRange(100, 100);
     37                        }
     38                    });
     39
     40                } else {
     41
     42                    pw_field.val( pw_field.data( 'pw' ) );
     43                    pw_field.trigger( 'propertychange' );
     44                    pw_field.attr( 'type', 'text' ).focus();
     45                    pw_field[0].setSelectionRange(100, 100);
     46                    pw_firsttime = false;
     47
     48                }
     49
     50                        }
    2851                };
    2952
    3053                pw_2.hide();
     
    85108                } );
    86109
    87110                pw_new.on( 'click', 'button.wp-generate-pw', function(){
    88                         pw_generatebtn.hide();
    89111                        pw_line.show();
    90112                        generatePassword();
    91113                });
  • wp-admin/user-edit.php

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    462462        <th><label for="pass1"><?php _e( 'New Password' ); ?></label></th>
    463463        <td>
    464464                <input class="hidden" value=" " /><!-- #24364 workaround -->
    465                 <button type="button" class="button button-secondary wp-generate-pw hide-if-no-js"><?php _e( 'Generate new password' ); ?></button>
    466465                <div class="wp-pwd hide-if-js">
    467466                        <input type="password" name="pass1" id="pass1" class="regular-text" value="" autocomplete="off" data-pw="<?php echo esc_attr( wp_generate_password( 24 ) ); ?>" />
    468467                        <button type="button" class="button button-secondary wp-hide-pw hide-if-no-js" data-toggle="0">
     
    471470                        </button>
    472471                        <div style="display:none" id="pass-strength-result"></div>
    473472                </div>
     473        <button type="button" class="button button-secondary wp-generate-pw hide-if-no-js"><?php _e( 'Generate new password' ); ?></button>
    474474        </td>
    475475</tr>
    476476<tr class="user-pass2-wrap hide-if-js">