WordPress.org

Make WordPress Core

Ticket #42766: 42766.5.diff

File 42766.5.diff, 2.3 KB (added by adamsilverstein, 10 months ago)
  • src/js/_enqueues/admin/user-profile.js

    diff --git a/src/js/_enqueues/admin/user-profile.js b/src/js/_enqueues/admin/user-profile.js
    index b73f2ab5c4..ef3e1afcc9 100644
    a b  
    215215                var pass1 = $('#pass1').val(), strength;
    216216
    217217                $('#pass-strength-result').removeClass('short bad good strong empty');
    218                 if ( ! pass1 ) {
     218                if ( ! pass1 || '' ===  pass1.trim() ) {
    219219                        $( '#pass-strength-result' ).addClass( 'empty' ).html( ' ' );
    220220                        return;
    221221                }
  • src/wp-admin/includes/user.php

    diff --git a/src/wp-admin/includes/user.php b/src/wp-admin/includes/user.php
    index de7cb989c1..5fbfd9f9b4 100644
    a b function edit_user( $user_id = 0 ) { 
    4747        $pass1 = '';
    4848        $pass2 = '';
    4949        if ( isset( $_POST['pass1'] ) ) {
    50                 $pass1 = $_POST['pass1'];
     50                $pass1 = trim( $_POST['pass1'] );
    5151        }
    5252        if ( isset( $_POST['pass2'] ) ) {
    53                 $pass2 = $_POST['pass2'];
     53                $pass2 = trim( $_POST['pass2'] );
    5454        }
    5555
    5656        if ( isset( $_POST['role'] ) && current_user_can( 'promote_users' ) && ( ! $user_id || current_user_can( 'promote_user', $user_id ) ) ) {
  • tests/phpunit/tests/user.php

    diff --git a/tests/phpunit/tests/user.php b/tests/phpunit/tests/user.php
    index b9d93325aa..c7a237c4d0 100644
    a b class Tests_User extends WP_UnitTestCase { 
    14511451         * Checks that calling edit_user() with no password returns an error when adding, and doesn't when updating.
    14521452         *
    14531453         * @ticket 35715
     1454         * @ticket 42766
    14541455         */
    14551456        function test_edit_user_blank_pw() {
    14561457                $_POST                 = array();
    class Tests_User extends WP_UnitTestCase { 
    14911492                $this->assertInternalType( 'int', $user_id );
    14921493                $this->assertSame( 'nickname_updated', $user->nickname );
    14931494
     1495                // Check not to change an old password if a new password contains only spaces. Ticket #42766
     1496                $user           = get_user_by( 'ID', $user_id );
     1497                $old_pass       = $user->user_pass;
     1498                $_POST['pass2'] = '  ';
     1499                $_POST['pass1'] = '  ';
     1500
     1501                $user_id = edit_user( $user_id );
     1502                $user    = get_user_by( 'ID', $user_id );
     1503
     1504                $this->assertInternalType( 'int', $user_id );
     1505                $this->assertEquals( $old_pass, $user->user_pass );
     1506
    14941507                // Check updating user with missing second password.
    14951508                $_POST['nickname'] = 'nickname_updated2';
    14961509                $_POST['pass1']    = 'blank_pass2';