ulogin.module in uLogin (advanced version) 8
Same filename and directory in other branches
Main file for the uLogin module.
File
ulogin.moduleView source
<?php
/**
* @file
* Main file for the uLogin module.
*/
use Drupal\ulogin\UloginHelper;
use Drupal\user\UserInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Entity\EntityInterface;
/**
* Implements hook_hook_info().
*/
function ulogin_hook_info() {
$hooks['ulogin_username_alter'] = [
'group' => 'ulogin',
];
return $hooks;
}
/**
* Implements hook_ENTITY_TYPE_insert().
*/
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();
}
}
}
/**
* Implements hook_user_delete().
*/
function ulogin_user_delete(EntityInterface $entity) {
UloginHelper::identityDeleteByUid($entity
->id());
}
/**
* Implements hook_form_alter().
*/
function ulogin_form_alter(&$form, FormStateInterface $form_state, $form_id) {
$form_ids = array_merge(array_filter(\Drupal::config('ulogin.settings')
->get('forms') ?: [
'user_login_form',
'user_register_form',
]), [
'comment_comment_form',
]);
if (\Drupal::currentUser()
->hasPermission('use ulogin') && \Drupal::currentUser()
->isAnonymous() && in_array($form_id, $form_ids)) {
$form['ulogin'] = [
'#type' => 'ulogin_widget',
];
}
}
/**
* Implements hook_theme().
*/
function ulogin_theme($existing, $type, $theme, $path) {
return [
'ulogin_widget' => [
'render element' => 'element',
'template' => 'ulogin_widget',
],
'ulogin_widget_id' => [
'render element' => 'element',
'template' => 'ulogin_widget_id',
],
'ulogin_widget_window' => [
'render element' => 'element',
'template' => 'ulogin_widget_window',
],
'ulogin_widget_buttons' => [
'render element' => 'element',
'template' => 'ulogin_widget_buttons',
],
];
}
/**
* Implements hook_user_format_name_alter().
*/
function ulogin_user_format_name_alter(&$name, $account) {
// Don't alter anonymous users or objects that do not have any user ID.
if (empty($account
->id())) {
return;
}
$ulogin_pattern = \Drupal::config('ulogin.settings')
->get('display_name') ?: '[user:ulogin:first_name] [user:ulogin:last_name]';
if (!empty($ulogin_pattern) && !\Drupal::moduleHandler()
->moduleExists('realname')) {
if (!empty(\Drupal::service('user.data')
->get('ulogin', $account
->id()))) {
$pattern = str_replace('[user:name]', $account
->getAccountName(), $ulogin_pattern);
$ulogin_name = \Drupal::token()
->replace($ulogin_pattern, [
'user' => $account,
], [
'clear' => TRUE,
]);
$name = trim(strip_tags($ulogin_name));
}
}
}
/**
* Implements hook_realname_alter().
*/
function ulogin_realname_alter(&$realname, $account) {
if (!empty(\Drupal::service('user.data')
->get('ulogin', $account
->id())) && \Drupal::config('ulogin.settings')
->get('override_realname')) {
$ulogin_pattern = \Drupal::config('ulogin.settings')
->get('display_name') ?: '[user:ulogin:first_name] [user:ulogin:last_name]';
$pattern = str_replace('[user:name]', $realname, $ulogin_pattern);
$ulogin_name = \Drupal::token()
->replace($pattern, [
'user' => $account,
], [
'clear' => TRUE,
]);
$realname = trim(strip_tags($ulogin_name));
}
}
/**
* Implements hook_email_registration_name().
*/
function ulogin_email_registration_name(UserInterface $account) {
global $_ulogin_data;
if (!empty($_ulogin_data) || !empty(\Drupal::service('user.data')
->get('ulogin', $account
->id()))) {
return $account
->label();
}
return NULL;
}
Functions
Name![]() |
Description |
---|---|
ulogin_email_registration_name | Implements hook_email_registration_name(). |
ulogin_form_alter | Implements hook_form_alter(). |
ulogin_hook_info | Implements hook_hook_info(). |
ulogin_realname_alter | Implements hook_realname_alter(). |
ulogin_theme | Implements hook_theme(). |
ulogin_user_delete | Implements hook_user_delete(). |
ulogin_user_format_name_alter | Implements hook_user_format_name_alter(). |
ulogin_user_insert | Implements hook_ENTITY_TYPE_insert(). |