You are here

function user_pass_submit in Drupal 4

Same name and namespace in other branches
  1. 5 modules/user/user.module \user_pass_submit()
  2. 6 modules/user/user.pages.inc \user_pass_submit()
  3. 7 modules/user/user.pages.inc \user_pass_submit()

File

modules/user.module, line 1071
Enables the user registration and login system.

Code

function user_pass_submit($form_id, $form_values) {
  global $base_url;
  $account = $form_values['account'];
  $from = variable_get('site_mail', ini_get('sendmail_from'));

  // Mail one time login URL and instructions.
  $variables = array(
    '%username' => $account->name,
    '%site' => variable_get('site_name', 'drupal'),
    '%login_url' => user_pass_reset_url($account),
    '%uri' => $base_url,
    '%uri_brief' => substr($base_url, strlen('http://')),
    '%mailto' => $account->mail,
    '%date' => format_date(time()),
    '%login_uri' => url('user', NULL, NULL, TRUE),
    '%edit_uri' => url('user/' . $account->uid . '/edit', NULL, NULL, TRUE),
  );
  $subject = _user_mail_text('pass_subject', $variables);
  $body = _user_mail_text('pass_body', $variables);
  $headers = "From: {$from}\nReply-to: {$from}\nX-Mailer: Drupal\nReturn-path: {$from}\nErrors-to: {$from}";
  $mail_success = user_mail($account->mail, $subject, $body, $headers);
  if ($mail_success) {
    watchdog('user', t('Password reset instructions mailed to %name at %email.', array(
      '%name' => theme('placeholder', $account->name),
      '%email' => theme('placeholder', $account->mail),
    )));
    drupal_set_message(t('Further instructions have been sent to your e-mail address.'));
  }
  else {
    watchdog('user', t('Error mailing password reset instructions to %name at %email.', array(
      '%name' => theme('placeholder', $account->name),
      '%email' => theme('placeholder', $account->mail),
    )), WATCHDOG_ERROR);
    drupal_set_message(t('Unable to send mail. Please contact the site admin.'));
  }
  return 'user';
}