You are here

public function SocialUserPasswordForm::submitForm in Open Social 8.7

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_user/src/Form/SocialUserPasswordForm.php \Drupal\social_user\Form\SocialUserPasswordForm::submitForm()
  2. 8 modules/social_features/social_user/src/Form/SocialUserPasswordForm.php \Drupal\social_user\Form\SocialUserPasswordForm::submitForm()
  3. 8.2 modules/social_features/social_user/src/Form/SocialUserPasswordForm.php \Drupal\social_user\Form\SocialUserPasswordForm::submitForm()
  4. 8.3 modules/social_features/social_user/src/Form/SocialUserPasswordForm.php \Drupal\social_user\Form\SocialUserPasswordForm::submitForm()
  5. 8.4 modules/social_features/social_user/src/Form/SocialUserPasswordForm.php \Drupal\social_user\Form\SocialUserPasswordForm::submitForm()
  6. 8.5 modules/social_features/social_user/src/Form/SocialUserPasswordForm.php \Drupal\social_user\Form\SocialUserPasswordForm::submitForm()
  7. 8.6 modules/social_features/social_user/src/Form/SocialUserPasswordForm.php \Drupal\social_user\Form\SocialUserPasswordForm::submitForm()
  8. 8.8 modules/social_features/social_user/src/Form/SocialUserPasswordForm.php \Drupal\social_user\Form\SocialUserPasswordForm::submitForm()
  9. 10.3.x modules/social_features/social_user/src/Form/SocialUserPasswordForm.php \Drupal\social_user\Form\SocialUserPasswordForm::submitForm()
  10. 10.0.x modules/social_features/social_user/src/Form/SocialUserPasswordForm.php \Drupal\social_user\Form\SocialUserPasswordForm::submitForm()
  11. 10.1.x modules/social_features/social_user/src/Form/SocialUserPasswordForm.php \Drupal\social_user\Form\SocialUserPasswordForm::submitForm()
  12. 10.2.x modules/social_features/social_user/src/Form/SocialUserPasswordForm.php \Drupal\social_user\Form\SocialUserPasswordForm::submitForm()

Form submission handler.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Overrides UserPasswordForm::submitForm

File

modules/social_features/social_user/src/Form/SocialUserPasswordForm.php, line 63

Class

SocialUserPasswordForm
Class SocialUserPasswordForm.

Namespace

Drupal\social_user\Form

Code

public function submitForm(array &$form, FormStateInterface $form_state) {
  $name = trim($form_state
    ->getValue('name'));

  // Try to load by email.
  $users = $this->userStorage
    ->loadByProperties([
    'mail' => $name,
  ]);
  if (empty($users)) {

    // No success, try to load by name.
    $users = $this->userStorage
      ->loadByProperties([
      'name' => $name,
    ]);
  }
  $account = reset($users);
  if ($account && $account
    ->id() && $account
    ->isActive()) {
    $langcode = $this->languageManager
      ->getCurrentLanguage()
      ->getId();

    // Mail one time login URL and instructions using current language.
    $mail = _user_mail_notify('password_reset', $account, $langcode);
    if (!empty($mail)) {
      $this
        ->logger('user')
        ->notice('Password reset instructions mailed to %name at %email.', [
        '%name' => $account
          ->getUsername(),
        '%email' => $account
          ->getEmail(),
      ]);
    }
  }
  $site_config = $this
    ->config('system.site');
  $site_mail = $site_config
    ->get('mail');
  $show_mail = $site_config
    ->get('show_mail_in_messages');
  $admin_link = $site_mail && $show_mail ? Link::fromTextAndUrl(t('site administrator'), Url::fromUri('mailto:' . $site_mail))
    ->toString() : t('site administrator');
  drupal_set_message(t('Due to privacy concerns, the identity of registered email addresses will not be disclosed. Therefore, a password reset link has been sent to you only if you have entered a valid email address or username.
<br>If the email address or username you entered does not exist, you will not get a reset link or a confirmation/warning about that here. Please contact the @admin_link if there are any problems.', [
    '@admin_link' => $admin_link,
  ]));
  $form_state
    ->setRedirect('user.page');
}