WordPress.org

Make WordPress Core

Ticket #34905: 34905.2.diff

File 34905.2.diff, 3.7 KB (added by adamsilverstein, 4 years ago)
  • src/wp-admin/js/password-strength-meter.js

    diff --git a/src/wp-admin/js/password-strength-meter.js b/src/wp-admin/js/password-strength-meter.js
    index a075c26..ea12225 100644
    a b var passwordStrength; 
    1818                        if (password1 != password2 && password2 && password2.length > 0)
    1919                                return 5;
    2020
     21                        if ( 'undefined' === typeof window.zxcvbn ) {
     22                                // Password strength unknown
     23                                return -1;
     24                        }
     25
    2126                        var result = zxcvbn( password1, blacklist );
    2227                        return result.score;
    2328                },
  • src/wp-admin/js/user-profile.js

    diff --git a/src/wp-admin/js/user-profile.js b/src/wp-admin/js/user-profile.js
    index 5ec77bc..f2302d3 100644
    a b  
    3030        function generatePassword() {
    3131                if ( typeof zxcvbn !== 'function' ) {
    3232                        setTimeout( generatePassword, 50 );
    33                 } else {
     33                        return;
     34                } else if ( ! $pass1.val() ) {
     35                        // zxcvbn loaded before user entered password.
    3436                        $pass1.val( $pass1.data( 'pw' ) );
    3537                        $pass1.trigger( 'pwupdate' ).trigger( 'wp-check-valid-field' );
    36                         if ( 1 !== parseInt( $toggleButton.data( 'start-masked' ), 10 ) ) {
    37                                 $pass1Wrap.addClass( 'show-password' );
    38                         } else {
    39                                 $toggleButton.trigger( 'click' );
    40                         }
    4138                }
     39                else {
     40                        // zxcvbn loaded after the user entered password, check strength.
     41                        check_pass_strength();
     42                }
     43
     44                if ( 1 !== parseInt( $toggleButton.data( 'start-masked' ), 10 ) ) {
     45                        $pass1Wrap.addClass( 'show-password' );
     46                } else {
     47                        $toggleButton.trigger( 'click' );
     48                }
     49
     50                // Once zxcvbn loads, passwords strength is known.
     51                $( '#pw-weak-text-label' ).html( userProfileL10n.warnWeak );
    4252        }
    4353
    4454        function bindPass1() {
     
    289299                strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.userInputBlacklist(), pass1 );
    290300
    291301                switch ( strength ) {
     302                        case -1:
     303                                $( '#pass-strength-result' ).addClass( 'bad' ).html( pwsL10n.unknown );
     304                                break;
    292305                        case 2:
    293306                                $('#pass-strength-result').addClass('bad').html( pwsL10n.bad );
    294307                                break;
  • src/wp-admin/user-edit.php

    diff --git a/src/wp-admin/user-edit.php b/src/wp-admin/user-edit.php
    index 04c19fb..5dc27fd 100644
    a b if ( $show_password_fields = apply_filters( 'show_password_fields', true, $profi 
    531531        <td>
    532532                <label>
    533533                        <input type="checkbox" name="pw_weak" class="pw-checkbox" />
    534                         <?php _e( 'Confirm use of weak password' ); ?>
     534                        <span id="pw-weak-text-label"><?php _e( 'Confirm use of potentially weak password' ); ?></span>
    535535                </label>
    536536        </td>
    537537</tr>
  • src/wp-includes/script-loader.php

    diff --git a/src/wp-includes/script-loader.php b/src/wp-includes/script-loader.php
    index a97bfe1..2b2a0f8 100644
    a b function wp_default_scripts( &$scripts ) { 
    379379
    380380        $scripts->add( 'password-strength-meter', "/wp-admin/js/password-strength-meter$suffix.js", array( 'jquery', 'zxcvbn-async' ), false, 1 );
    381381        did_action( 'init' ) && $scripts->localize( 'password-strength-meter', 'pwsL10n', array(
     382                'unknown'  => _x( 'Password strength unknown', 'password strength' ),
    382383                'short'    => _x( 'Very weak', 'password strength' ),
    383384                'bad'      => _x( 'Weak', 'password strength' ),
    384385                'good'     => _x( 'Medium', 'password strength' ),
    function wp_default_scripts( &$scripts ) { 
    389390        $scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter', 'wp-util' ), false, 1 );
    390391        did_action( 'init' ) && $scripts->localize( 'user-profile', 'userProfileL10n', array(
    391392                'warn'     => __( 'Your new password has not been saved.' ),
     393                'warnWeak' => __( 'Confirm use of weak password.' ),
    392394                'show'     => __( 'Show' ),
    393395                'hide'     => __( 'Hide' ),
    394396                'cancel'   => __( 'Cancel' ),