WordPress.org

Make WordPress Core

Ticket #49399: 49399.1.patch

File 49399.1.patch, 1.8 KB (added by Mista-Flo, 17 months ago)
  • src/wp-includes/user.php

    diff --git a/src/wp-includes/user.php b/src/wp-includes/user.php
    index 22a9639033..8abd2c1ec5 100644
    a b function wp_get_users_with_no_role( $site_id = null ) { 
    27082708        }
    27092709
    27102710        $regex = implode( '|', array_keys( $role_names ) );
    2711         $regex = preg_replace( '/[^a-zA-Z_\|-]/', '', $regex );
     2711        $regex = preg_replace( '/[^0-9a-zA-Z_\|-]/', '', $regex );
    27122712        $users = $wpdb->get_col(
    27132713                $wpdb->prepare(
    27142714                        "
  • tests/phpunit/tests/user/wpGetUsersWithNoRole.php

    diff --git a/tests/phpunit/tests/user/wpGetUsersWithNoRole.php b/tests/phpunit/tests/user/wpGetUsersWithNoRole.php
    index 46b8bafbdb..80a958a828 100644
    a b class Tests_User_GetUsersWithNoRole extends WP_UnitTestCase { 
    109109         * Role comparison must be done on role name, not role display name.
    110110         *
    111111         * @ticket 38234
     112         * @ticket 49399
    112113         */
    113114        public function test_get_users_with_no_role_matches_on_role_name() {
    114115                // Create a role with a display name which would not match the role name
    115116                // in a case-insentive SQL query.
    116117                wp_roles()->add_role( 'somerole', 'Some role display name' );
     118                wp_roles()->add_role( 'role2', 'Another role with display name' );
     119                wp_roles()->add_role( 'Group1Admins', 'group admin' );
    117120
    118121                $someuser = self::factory()->user->create(
    119122                        array(
    class Tests_User_GetUsersWithNoRole extends WP_UnitTestCase { 
    121124                        )
    122125                );
    123126
     127                $someuser2 = self::factory()->user->create(
     128                        array(
     129                                'role' => 'role2',
     130                        )
     131                );
     132
     133                $someuser3 = self::factory()->user->create(
     134                        array(
     135                                'role' => 'Group1Admins',
     136                        )
     137                );
     138
    124139                $users = wp_get_users_with_no_role();
    125140
    126141                wp_roles()->remove_role( 'somerole' );
     142                wp_roles()->remove_role( 'role2' );
     143                wp_roles()->remove_role( 'Group1Admins' );
    127144
    128145                $this->assertEmpty( $users );
    129146        }