diff options
author | Jakub Senko <jakubsenko@gmail.com> | 2019-05-24 15:17:18 +0200 |
---|---|---|
committer | Jakub Senko <jakubsenko@gmail.com> | 2019-05-24 15:17:18 +0200 |
commit | 2b1102e372bae879f6175b178fb387f596c57c35 (patch) | |
tree | 6d2cd1a02503c08bdaa3cf36bca5d32e83e9aabf /phpBB/includes | |
parent | f6beabc59354a7b872039403574f8ceb44b6d325 (diff) | |
download | forums-2b1102e372bae879f6175b178fb387f596c57c35.tar forums-2b1102e372bae879f6175b178fb387f596c57c35.tar.gz forums-2b1102e372bae879f6175b178fb387f596c57c35.tar.bz2 forums-2b1102e372bae879f6175b178fb387f596c57c35.tar.xz forums-2b1102e372bae879f6175b178fb387f596c57c35.zip |
[ticket/16013] Allow admins to use disallowed username
PHPBB3-16013
Diffstat (limited to 'phpBB/includes')
-rw-r--r-- | phpBB/includes/acp/acp_users.php | 2 | ||||
-rw-r--r-- | phpBB/includes/functions_user.php | 15 |
2 files changed, 10 insertions, 7 deletions
diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php index 2d1eaadfae..fd4b5e8c24 100644 --- a/phpBB/includes/acp/acp_users.php +++ b/phpBB/includes/acp/acp_users.php @@ -855,7 +855,7 @@ class acp_users $check_ary += array( 'username' => array( array('string', false, $config['min_name_chars'], $config['max_name_chars']), - array('username', $user_row['username']) + array('username', $user_row['username'], true) ), ); } diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index fb9241d4aa..3bf4aa16b7 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -1732,7 +1732,7 @@ function phpbb_validate_timezone($timezone) * @return mixed Either false if validation succeeded or a string which will be * used as the error message (with the variable name appended) */ -function validate_username($username, $allowed_username = false) +function validate_username($username, $allowed_username = false, $allow_all_names = false) { global $config, $db, $user, $cache; @@ -1815,13 +1815,16 @@ function validate_username($username, $allowed_username = false) return 'USERNAME_TAKEN'; } - $bad_usernames = $cache->obtain_disallowed_usernames(); - - foreach ($bad_usernames as $bad_username) + if (!$allow_all_names) { - if (preg_match('#^' . $bad_username . '$#', $clean_username)) + $bad_usernames = $cache->obtain_disallowed_usernames(); + + foreach ($bad_usernames as $bad_username) { - return 'USERNAME_DISALLOWED'; + if (preg_match('#^' . $bad_username . '$#', $clean_username)) + { + return 'USERNAME_DISALLOWED'; + } } } |