You are here

function email_confirmer_user_user_login in Email confirmer 8

Implements hook_user_login().

File

email_confirmer_user/email_confirmer_user.module, line 153
Users related email confirmation module.

Code

function email_confirmer_user_user_login($account) {
  $config = \Drupal::config('email_confirmer_user.settings')
    ->get('user_login');

  // Register a confirmed email confirmation for new created accounts on their
  // first access or when a user logins through a one time login link.

  /** @var \Drupal\Core\Session\AccountInterface $account */
  if ((!$account
    ->getLastAccessedTime() && $config['sync_core_confirmation'] || \Drupal::routeMatch()
    ->getRouteName() == 'user.reset.login' && $config['sync_core_onetimeloginlinks']) && !\Drupal::service('email_confirmer')
    ->getConfirmation($account
    ->getEmail(), 'confirmed')) {
    \Drupal::entityTypeManager()
      ->getStorage('email_confirmer_confirmation')
      ->create([
      'email' => $account
        ->getEmail(),
      'realm' => 'email_confirmer_user',
      'sent' => \Drupal::time()
        ->getRequestTime(),
      'confirmed' => EmailConfirmationInterface::CONFIRMED,
    ])
      ->save();
  }
}