Make WordPress Core

Ticket #33079: 33079.01.patch

File 33079.01.patch, 3.8 KB (added by johnjamesjacoby, 9 years ago)
  • wp-admin/js/user-profile.js

     
    77                        pw_field2 = $('#pass2'),
    88                        pw_togglebtn = pw_new.find('.wp-hide-pw'),
    99                        pw_generatebtn = pw_new.find('button.wp-generate-pw'),
     10                        pw_cancelbtn = pw_new.find('button.wp-cancel-pw'),
    1011                        pw_2 = $('.user-pass2-wrap'),
    1112                        parentform = pw_new.closest('form'),
    1213                        pw_strength = $('#pass-strength-result'),
     
    1415                        pw_submitbtn_new = $( '#createusersub' ),
    1516                        pw_checkbox = $('.pw-checkbox'),
    1617                        pw_weak = $('.pw-weak'),
     18                        pw_update_lock = false,
    1719                        // Set up a text version of the password input
    1820                        newField = document.createElement( 'input');
     21
    1922                        newField.type = 'text';
    2023
    2124                        var pwFieldText = $( newField );
     
    5659                }
    5760
    5861                parentform.on('submit', function(){
     62                        pw_update_lock = false;
    5963                        pw_field2.val( pw_field.val() );
    6064                        pwWrapper.removeClass( 'show-password' );
    6165                });
     
    110114                } );
    111115
    112116                pw_new.on( 'click', 'button.wp-generate-pw', function(){
     117                        pw_update_lock = true;
    113118                        pw_generatebtn.hide();
    114119                        pw_line.show();
    115120                        generatePassword();
     
    119124                                        pwFieldText[0].setSelectionRange( 0, 100 );
    120125                                }
    121126                        }, 0 );
     127                });
    122128
     129                pw_submitbtn_edit.on( 'click', function() {
     130                        pw_update_lock = false;
    123131                });
    124132
     133                pw_cancelbtn.on( 'click', function() {
     134                        pw_update_lock = false;
     135                        pw_generatebtn.show();
     136                        pw_line.hide();
     137                });
    125138
    126139                pw_togglebtn.on( 'click', function() {
    127140                        var show = pw_togglebtn.attr( 'data-toggle' );
     
    145158                        }
    146159
    147160                });
     161
     162                /* Warn the user if password was generated but not saved */
     163                $( window ).on( 'beforeunload', function() {
     164                        if ( true === pw_update_lock ) {
     165                                return userProfileL10n.warn;
     166                        }
     167                } );
    148168        });
    149169
    150170        function check_pass_strength() {
  • wp-admin/user-edit.php

     
    469469                                <span class="dashicons dashicons-visibility"></span>
    470470                                <span class="text"><?php _e( 'Hide' ); ?></span>
    471471                        </button>
     472                        <button type="button" class="button button-secondary wp-cancel-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Cancel password change' ); ?>">
     473                                <span class="text"><?php _e( 'Cancel' ); ?></span>
     474                        </button>
    472475                        <div style="display:none" id="pass-strength-result" aria-live="polite"></div>
    473476                </div>
    474477        </td>
  • wp-admin/user-new.php

     
    407407                                        <span class="dashicons dashicons-visibility"></span>
    408408                                        <span class="text"><?php _e( 'Hide' ); ?></span>
    409409                                </button>
     410                                <button type="button" class="button button-secondary wp-cancel-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Cancel password change' ); ?>">
     411                                        <span class="text"><?php _e( 'Cancel' ); ?></span>
     412                                </button>
    410413                                <div style="display:none" id="pass-strength-result" aria-live="polite"></div>
    411414                        </div>
    412415                        <p><span class="description"><?php _e( 'A password reset link will be sent to the user via email.' ); ?></span></p>
  • wp-includes/script-loader.php

     
    374374
    375375        $scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter', 'wp-util' ), false, 1 );
    376376        did_action( 'init' ) && $scripts->localize( 'user-profile', 'userProfileL10n', array(
    377                 'show' => __( 'Show' ),
    378                 'hide' => __( 'Hide' ),
     377                'warn'     => __( 'Leaving this page will also leave your password unchanged.' ),
     378                'show'     => __( 'Show' ),
     379                'hide'     => __( 'Hide' ),
     380                'cancel'   => __( 'Cancel' ),
    379381                'ariaShow' => esc_attr__( 'Show password' ),
    380382                'ariaHide' => esc_attr__( 'Hide password' ),
    381383        ) );