login_disable.module in Login Disable 8
Same filename and directory in other branches
Control who can log in to a Drupal site.
File
login_disable.moduleView source
<?php
/**
* @file
* Control who can log in to a Drupal site.
*/
use Drupal\Core\Form\FormStateInterface;
use Drupal\user\UserInterface;
/**
* Login_disable_form_user_login_block_alter function.
*/
function login_disable_form_user_login_block_alter(&$form, FormStateInterface $form_state) {
_login_disable_form_user_login_alter($form);
}
/**
* Implements hook_form_FORM_ID_alter().
*/
function login_disable_form_user_login_form_alter(&$form, FormStateInterface $form_state, $form_id) {
_login_disable_form_user_login_alter($form);
}
/**
* Login_disable_form_user_login_alter function.
*/
function _login_disable_form_user_login_alter(&$form) {
if (\Drupal::config('login_disable.settings')
->get('login_disable_is_active')) {
$key = \Drupal::config('login_disable.settings')
->get('login_disable_key');
// If the key is set, block people from logging in if it was not passed as
// an argument in the URL.
if (!empty($key) && !array_key_exists($key, $_GET)) {
$form['name']['#disabled'] = 'disabled';
$form['pass']['#disabled'] = 'disabled';
unset($form['#validate']);
unset($form['#submit']);
unset($form['actions']);
}
drupal_set_message(\Drupal::config('login_disable.settings')
->get('login_disable_message'), 'warning', FALSE);
}
}
/**
* Implements hook_user_login().
*/
function login_disable_user_login(UserInterface $account) {
if (\Drupal::config('login_disable.settings')
->get('login_disable_is_active')) {
// If user is not allowed to bypass then log them out.
if (\Drupal::currentUser()
->hasPermission('bypass disabled login') == FALSE) {
drupal_set_message(\Drupal::config('login_disable.settings')
->get('login_disable_message'), 'warning');
user_logout();
}
}
}
Functions
Name![]() |
Description |
---|---|
login_disable_form_user_login_block_alter | Login_disable_form_user_login_block_alter function. |
login_disable_form_user_login_form_alter | Implements hook_form_FORM_ID_alter(). |
login_disable_user_login | Implements hook_user_login(). |
_login_disable_form_user_login_alter | Login_disable_form_user_login_alter function. |