You are here

class SocialUserPasswordForm in Open Social 10.2.x

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

Class SocialUserPasswordForm.

@package Drupal\social_user\Form

Hierarchy

Expanded class hierarchy of SocialUserPasswordForm

File

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

Namespace

Drupal\social_user\Form
View source
class SocialUserPasswordForm extends UserPasswordForm {

  /**
   * {@inheritdoc}
   */
  public function getFormId() {
    return 'social_user_password_form';
  }

  /**
   * {@inheritdoc}
   */
  public function buildForm(array $form, FormStateInterface $form_state) {
    $form = parent::buildForm($form, $form_state);
    $form['forgot'] = [
      '#type' => 'fieldset',
      '#title' => $this
        ->t('Reset password with <b>username</b> or <b>email</b>'),
    ];

    // Move name and mail into the fieldset.
    $form['forgot']['name'] = $form['name'];
    $form['forgot']['mail'] = $form['mail'];
    unset($form['name']);
    unset($form['mail']);
    if (\Drupal::config('user.settings')
      ->get('register') != 'admin_only') {

      // Link to the login/register pages.
      $sign_up_link = Link::createFromRoute($this
        ->t('Sign up'), 'user.register')
        ->toString();
      $form['forgot']['sign-up-link'] = [
        '#markup' => $this
          ->t("Don't have an account yet? @link", [
          "@link" => $sign_up_link,
        ]),
      ];
    }
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function validateForm(array &$form, FormStateInterface $form_state) {

    // No validation necessary to protect the privacy of users.
  }

  /**
   * {@inheritdoc}
   */
  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');
    $this
      ->messenger()
      ->addStatus(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');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property
DependencySerializationTrait::$_serviceIds protected property
DependencySerializationTrait::__sleep public function 2
DependencySerializationTrait::__wakeup public function 2
FormBase::$configFactory protected property The config factory. 3
FormBase::$requestStack protected property The request stack. 1
FormBase::$routeMatch protected property The route match.
FormBase::config protected function Retrieves a configuration object.
FormBase::configFactory protected function Gets the config factory for this form. 3
FormBase::container private function Returns the service container.
FormBase::currentUser protected function Gets the current user.
FormBase::getRequest protected function Gets the request object.
FormBase::getRouteMatch protected function Gets the route match.
FormBase::logger protected function Gets the logger for a specific channel.
FormBase::redirect protected function Returns a redirect response object for the specified route.
FormBase::resetConfigFactory public function Resets the configuration factory.
FormBase::setConfigFactory public function Sets the config factory for this form.
FormBase::setRequestStack public function Sets the request stack object to use.
LoggerChannelTrait::$loggerFactory protected property The logger channel factory service.
LoggerChannelTrait::getLogger protected function Gets the logger for a specific channel.
LoggerChannelTrait::setLoggerFactory public function Injects the logger channel factory.
MessengerTrait::$messenger protected property The messenger. 27
MessengerTrait::messenger public function Gets the messenger. 27
MessengerTrait::setMessenger public function Sets the messenger.
RedirectDestinationTrait::$redirectDestination protected property The redirect destination service. 1
RedirectDestinationTrait::getDestinationArray protected function Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
RedirectDestinationTrait::getRedirectDestination protected function Returns the redirect destination service.
RedirectDestinationTrait::setRedirectDestination public function Sets the redirect destination service.
SocialUserPasswordForm::buildForm public function Form constructor. Overrides UserPasswordForm::buildForm
SocialUserPasswordForm::getFormId public function Returns a unique string identifying the form. Overrides UserPasswordForm::getFormId
SocialUserPasswordForm::submitForm public function Form submission handler. Overrides UserPasswordForm::submitForm
SocialUserPasswordForm::validateForm public function Form validation handler. Overrides UserPasswordForm::validateForm
StringTranslationTrait::$stringTranslation protected property The string translation service. 4
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
UserPasswordForm::$emailValidator protected property The email validator service.
UserPasswordForm::$flood protected property The flood service.
UserPasswordForm::$languageManager protected property The language manager.
UserPasswordForm::$typedDataManager protected property The typed data manager.
UserPasswordForm::$userStorage protected property The user storage.
UserPasswordForm::create public static function Instantiates a new instance of this class. Overrides FormBase::create
UserPasswordForm::__construct public function Constructs a UserPasswordForm object.