Index: modules/user/user.module =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.module,v retrieving revision 1.768 diff -u -r1.768 user.module --- modules/user/user.module 10 Apr 2007 10:40:40 -0000 1.768 +++ modules/user/user.module 11 Apr 2007 08:25:50 -0000 @@ -1156,32 +1156,31 @@ } function user_pass() { - - // Display form: - $form['name'] = array('#type' => 'textfield', + $form['name'] = array( + '#type' => 'textfield', '#title' => t('Username or e-mail address'), '#size' => 60, '#maxlength' => max(USERNAME_MAX_LENGTH, EMAIL_MAX_LENGTH), '#required' => TRUE, ); - $form['submit'] = array('#type' => 'submit', - '#value' => t('E-mail new password'), - '#weight' => 2, - ); + $form['submit'] = array('#type' => 'submit', '#value' => t('E-mail new password')); + return $form; } function user_pass_validate($form_id, $form_values) { - $name = $form_values['name']; - $account = user_load(array('mail' => $name, 'status' => 1)); - if (!$account) { + $name = trim($form_values['name']); + if (valid_email_address($name)) { + $account = user_load(array('mail' => $name, 'status' => 1)); + } + else { $account = user_load(array('name' => $name, 'status' => 1)); } - if ($account->uid) { + if (isset($account->uid)) { form_set_value(array('#parents' => array('account')), $account); } else { - form_set_error('name', t('Sorry, %name is not recognized as a user name or an email address.', array('%name' => $name))); + form_set_error('name', t('Sorry, %name is not recognized as a user name or an e-mail address.', array('%name' => $name))); } }