You are here

function _user_resource_request_new_password in Services 7.3

Request a new password given a user name or e-mail address.

Parameters

$name: The username or e-mail address of the requesting account.

See also

https://api.drupal.org/api/drupal/modules!user!user.pages.inc/function/u...

https://api.drupal.org/api/drupal/modules!user!user.pages.inc/function/u...

1 string reference to '_user_resource_request_new_password'
_user_resource_definition in resources/user_resource.inc

File

resources/user_resource.inc, line 731

Code

function _user_resource_request_new_password($name) {
  $name = trim($name);

  // Try to load by email.
  $users = user_load_multiple(array(), array(
    'mail' => $name,
    'status' => '1',
  ));
  $account = reset($users);
  if (!$account) {

    // No success, try to load by name.
    $users = user_load_multiple(array(), array(
      'name' => $name,
      'status' => '1',
    ));
    $account = reset($users);
  }
  if (!isset($account->uid)) {
    return services_error(t('Sorry, %name is not recognized as a user name or an e-mail address.', array(
      '%name' => $name,
    )), 406);
  }

  // Mail one time login URL and instructions using current language.
  global $language;
  $mail = _user_mail_notify('password_reset', $account, $language);
  if (!empty($mail)) {
    watchdog('user', 'Password reset instructions mailed to %name at %email.', array(
      '%name' => $account->name,
      '%email' => $account->mail,
    ));
    return TRUE;
  }
  else {
    return FALSE;
  }
}