Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.877
diff -u -r1.877 user.module
--- modules/user/user.module 20 Dec 2007 21:59:17 -0000 1.877
+++ modules/user/user.module 21 Dec 2007 17:08:56 -0000
@@ -1245,15 +1245,32 @@
* A FAPI validate handler. Sets an error is supplied username has been blocked or denied access.
*/
function user_login_name_validate($form, &$form_state) {
- if (isset($form_state['values']['name'])) {
- if (user_is_blocked($form_state['values']['name'])) {
- // blocked in user administration
- form_set_error('name', t('The username %name has not been activated or is blocked.', array('%name' => $form_state['values']['name'])));
- }
- else if (drupal_is_denied('user', $form_state['values']['name'])) {
- // denied by access controls
- form_set_error('name', t('The name %name is a reserved username.', array('%name' => $form_state['values']['name'])));
+ $name = $form_state['values']['name'];
+ if (isset($name)) {
+
+ // blocked in user administration
+ if (user_is_blocked($name)) {
+ form_set_error('name', t('Login failed: User %name has not been activated or is blocked.', array('%name' => $name)));
+ watchdog('user', 'Login attempt failed: User %name blocked.', array('%name' => $name));
+ }
+
+ // denied by an access rule
+ else if (drupal_is_denied('user', $name)) {
+ $user_one = db_result(db_query('SELECT name FROM {users} WHERE uid = 1'));
+ if ($name == $user_one) {
+ // always allow access to uid 1
+ drupal_set_message(t('An access rule tried to deny access to %name.
' .
+ 'As this is the site administrator\'s user account, this rule has been overridden.
' .
+ 'However you might want to check the Access rules configuration.',
+ array('%name' => $name, '@link' => '/admin/user/rules')), 'warning');
+ }
+ else {
+ // otherwise deny access
+ form_set_error('name', t('Login failed: %name is a reserved username.', array('%name' => $name)));
+ watchdog('user', 'Login attempt failed: Username %name denied by access rule.', array('%name' => $name));
+ }
}
+
}
}
@@ -1272,8 +1289,9 @@
function user_login_final_validate($form, &$form_state) {
global $user;
if (!$user->uid) {
- form_set_error('name', t('Sorry, unrecognized username or password. Have you forgotten your password?', array('@password' => url('user/password'))));
- watchdog('user', 'Login attempt failed for %user.', array('%user' => $form_state['values']['name']));
+ $name = $form_state['values']['name'];
+ form_set_error('name', t('Login failed: Sorry, unrecognized username %name or wrong password. Have you forgotten your password?', array('%name' => $name, '@link' => url('user/password'))));
+ watchdog('user', 'Login attempt failed: unrecognized username %name or wrong password.', array('%name' => $name));
}
}