diff --git src/wp-includes/user.php src/wp-includes/user.php
index 32b0ec7..af04ff7 100644
|
|
|
function register_new_user( $user_login, $user_email ) { |
| 2124 | 2124 | $sanitized_user_login = ''; |
| 2125 | 2125 | } elseif ( username_exists( $sanitized_user_login ) ) { |
| 2126 | 2126 | $errors->add( 'username_exists', __( '<strong>ERROR</strong>: This username is already registered. Please choose another one.' ) ); |
| | 2127 | |
| | 2128 | } else { |
| | 2129 | /** This filter is documented in wp-includes/user.php */ |
| | 2130 | $illegal_user_logins = array_map( 'strtolower', (array) apply_filters( 'illegal_user_logins', array() ) ); |
| | 2131 | if ( in_array( strtolower( $sanitized_user_login ), $illegal_user_logins ) ) { |
| | 2132 | $errors->add( 'illegal_user_login', __( '<strong>ERROR</strong>: Sorry, that username is not allowed.' ) ); |
| | 2133 | } |
| 2127 | 2134 | } |
| 2128 | 2135 | |
| 2129 | 2136 | // Check the email address |
diff --git tests/phpunit/tests/user.php tests/phpunit/tests/user.php
index 3644ffc..35cb5e6 100644
|
|
|
class Tests_User extends WP_UnitTestCase { |
| 633 | 633 | |
| 634 | 634 | /** |
| 635 | 635 | * @ticket 27317 |
| | 636 | * @dataProvider _illegal_user_logins_data |
| | 637 | */ |
| | 638 | function test_illegal_user_logins_single_wp_create_user( $user_login ) { |
| | 639 | $user_email = 'testuser-' . $user_login . '@example.com'; |
| | 640 | |
| | 641 | add_filter( 'illegal_user_logins', array( $this, '_illegal_user_logins' ) ); |
| | 642 | |
| | 643 | $response = register_new_user( $user_login, $user_email ); |
| | 644 | $this->assertInstanceOf( 'WP_Error', $response ); |
| | 645 | $this->assertEquals( 'illegal_user_login', $response->get_error_code() ); |
| | 646 | |
| | 647 | remove_filter( 'illegal_user_logins', array( $this, '_illegal_user_logins' ) ); |
| | 648 | |
| | 649 | $response = register_new_user( $user_login, $user_email ); |
| | 650 | $user = get_user_by( 'id', $response ); |
| | 651 | $this->assertInstanceOf( 'WP_User', $user ); |
| | 652 | } |
| | 653 | |
| | 654 | |
| | 655 | /** |
| | 656 | * @ticket 27317 |
| 636 | 657 | */ |
| 637 | 658 | function test_illegal_user_logins_multisite() { |
| 638 | 659 | if ( ! is_multisite() ) { |