You are here

function ulogin_user_insert in uLogin (advanced version) 8

Implements hook_ENTITY_TYPE_insert().

File

./ulogin.module, line 26
Main file for the uLogin module.

Code

function ulogin_user_insert(EntityInterface $entity) {
  global $_ulogin_data;

  // The user is being created.
  if (!empty($entity
    ->id()) && !empty($_ulogin_data)) {
    foreach ($_ulogin_data as $key => $val) {
      \Drupal::service('user.data')
        ->set('ulogin', $entity
        ->id(), $key, $val);
    }
    if (!empty($_ulogin_data['email'])) {

      // Email_confirm: if email was manually entered - set temporary email.
      if (!empty($_ulogin_data['manual']) && in_array('email', explode(',', $_ulogin_data['manual'])) && \Drupal::config('ulogin.settings')
        ->get('email_confirm') && \Drupal::moduleHandler()
        ->moduleExists('email_confirm')) {
        $entity
          ->set('mail', preg_replace('/^(.+)@/', '$1+not_confirmed@', $_ulogin_data['email']));
      }
      else {
        $entity
          ->set('mail', $_ulogin_data['email']);
      }
      $entity
        ->save();
    }
  }
}