Index: user.module =================================================================== RCS file: /cvs/drupal/drupal/modules/user.module,v retrieving revision 1.480 diff -u -Ff -r1.480 user.module --- user.module 19 Jun 2005 09:06:02 -0000 1.480 +++ user.module 19 Jun 2005 20:36:46 -0000 @@ -339,6 +339,18 @@ if (isset($perm[$account->uid])) { } /** + * Checks for usernames blocked by user administration + * + * @return boolean true for blocked users, false for active + */ +function user_blocked($name) { + $allow = db_fetch_object(db_query("SELECT * FROM {users} WHERE status = 1 AND name = LOWER('%s')", $name)); + $deny = db_fetch_object(db_query("SELECT * FROM {users} WHERE status = 0 AND name = LOWER('%s')", $name)); + + return $deny && !$allow; +} + +/** * Send an e-mail message. */ function user_mail($mail, $subject, $message, $header) { @@ -798,8 +810,13 @@ if ($user->uid) { drupal_goto('user'); } - if (drupal_deny('user', $edit['name'])) { - $error = t('The name %s has been denied access.', array('%s' => theme('placeholder', $edit['name']))); + if (user_blocked($edit['name'])) { + // blocked in user administration + $error = t('The username %s has been blocked.', array('%s' => theme('placeholder', $edit['name']))); + } + else if (drupal_deny('user', $edit['name'])) { + // denied by access controls + $error = t('The name %s is a reserved username.', array('%s' => theme('placeholder', $edit['name']))); } else if ($edit['name'] && $edit['pass']) {