user_pass_submit

5 user.module user_pass_submit($form_id, $form_values)
6 user.pages.inc user_pass_submit($form, &$form_state)
7 user.pages.inc user_pass_submit($form, &$form_state)
8 user.pages.inc user_pass_submit($form, &$form_state)

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';
}
Login or register to post comments