You are here

function super_login_user_login_validate in Super Login 8

Same name and namespace in other branches
  1. 7 super_login.module \super_login_user_login_validate()

Custom validation for user login form.

1 string reference to 'super_login_user_login_validate'
super_login_form_alter in ./super_login.module
Implements hook_form_alter().

File

./super_login.module, line 133
Functions related to altering of login form.

Code

function super_login_user_login_validate(&$form, FormStateInterface $form_state) {
  $login_type = (int) \Drupal::config('super_login.settings')
    ->get('super_login.login_type');
  $username = mb_strtolower(trim($form_state
    ->getValue('name')));
  if (in_array($login_type, [
    0,
    2,
  ]) && !empty($username)) {
    $user_storage = \Drupal::entityTypeManager()
      ->getStorage('user');
    $user_ids = $user_storage
      ->getQuery()
      ->condition('mail', $username)
      ->condition('status', 1)
      ->range(0, 1)
      ->execute();
    if (!empty($user_ids) && ($user = $user_storage
      ->load(reset($user_ids)))) {
      $form_state
        ->setValue('name', $user
        ->getAccountName());
    }
    elseif ($login_type === 2) {
      $form_state
        ->setValue('name', '-');
    }
  }
}