class LoginDisableSettingsForm in Login Disable 2.0.x
Same name and namespace in other branches
- 8 src/Form/LoginDisableSettingsForm.php \Drupal\login_disable\Form\LoginDisableSettingsForm
Class LoginDisableSettingsForm.
@package Drupal\login_disable\Form
Hierarchy
- class \Drupal\Core\Form\FormBase implements ContainerInjectionInterface, FormInterface uses DependencySerializationTrait, LoggerChannelTrait, MessengerTrait, RedirectDestinationTrait, StringTranslationTrait
- class \Drupal\Core\Form\ConfigFormBase uses ConfigFormBaseTrait
- class \Drupal\login_disable\Form\LoginDisableSettingsForm
- class \Drupal\Core\Form\ConfigFormBase uses ConfigFormBaseTrait
Expanded class hierarchy of LoginDisableSettingsForm
1 string reference to 'LoginDisableSettingsForm'
File
- src/
Form/ LoginDisableSettingsForm.php, line 15
Namespace
Drupal\login_disable\FormView source
class LoginDisableSettingsForm extends ConfigFormBase {
/**
* {@inheritdoc}
*/
public function getFormId() {
return 'login_disable_settings_form';
}
/**
* {@inheritdoc}
*/
protected function getEditableConfigNames() {
return [
'login_disable.settings',
];
}
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state) {
$form = parent::buildForm($form, $form_state);
$config = $this
->config('login_disable.settings');
$form['login_disable_is_active'] = [
'#type' => 'checkbox',
'#title' => 'Prevent user log in',
'#description' => $this
->t('When active the user login form will be disabled for everyone. For roles granted bypass rights they must use the access key defined below.'),
'#default_value' => (bool) $config
->get('login_disable_is_active'),
];
$form['login_disable_key'] = [
'#title' => $this
->t('Access key (optional)'),
'#description' => $this
->t('For added security, a word can be required to be added to the URL.'),
'#type' => 'textfield',
'#size' => 10,
'#default_value' => $config
->get('login_disable_key'),
];
if (!empty($form['login_disable_key']['#default_value'])) {
$form['login_disable_key']['#description'] .= '<br />' . $this
->t('The URL to use to log in is: @url', [
'@url' => Url::fromRoute('user.login')
->toString() . '?' . $form['login_disable_key']['#default_value'],
]);
}
$form['login_disable_message'] = [
'#title' => $this
->t('End-user message when login is disabled'),
'#description' => $this
->t('Adding this word to the end of the @url url will allow access to the log in form.', [
'@url' => 'user/login?' . $config
->get('login_disable_key'),
]),
'#type' => 'textfield',
'#size' => 80,
'#default_value' => $config
->get('login_disable_message'),
];
$form['login_disable_force_logout'] = [
'#type' => 'checkbox',
'#title' => 'Force logout logged in users',
'#description' => $this
->t('When active all the logged in users will be forced to logout.'),
'#default_value' => (bool) $config
->get('login_disable_force_logout'),
];
return $form;
}
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state) {
$config = $this
->config('login_disable.settings');
foreach (Element::children($form) as $variable) {
$config
->set($variable, $form_state
->getValue($form[$variable]['#parents']));
}
$config
->save();
if (method_exists($this, '_submitForm')) {
$this
->_submitForm($form, $form_state);
}
// If user is prevented from login and force logout is selected then logout
// all users.
if ($form_state
->getValue('login_disable_is_active', FALSE) && $form_state
->getValue('login_disable_force_logout', FALSE)) {
// Ignore super admin and current user from session kill.
$ignore_uids = array_unique([
1,
\Drupal::currentUser()
->id(),
]);
\Drupal::database()
->delete('sessions')
->condition('uid', $ignore_uids, 'NOT IN')
->execute();
}
parent::submitForm($form, $form_state);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigFormBase:: |
public static | function |
Instantiates a new instance of this class. Overrides FormBase:: |
18 |
ConfigFormBase:: |
public | function | Constructs a \Drupal\system\ConfigFormBase object. | 16 |
ConfigFormBaseTrait:: |
protected | function | Retrieves a configuration object. | |
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
public | function | 2 | |
DependencySerializationTrait:: |
public | function | 2 | |
FormBase:: |
protected | property | The config factory. | 3 |
FormBase:: |
protected | property | The request stack. | 1 |
FormBase:: |
protected | property | The route match. | |
FormBase:: |
protected | function | Gets the config factory for this form. | 3 |
FormBase:: |
private | function | Returns the service container. | |
FormBase:: |
protected | function | Gets the current user. | |
FormBase:: |
protected | function | Gets the request object. | |
FormBase:: |
protected | function | Gets the route match. | |
FormBase:: |
protected | function | Gets the logger for a specific channel. | |
FormBase:: |
protected | function | Returns a redirect response object for the specified route. | |
FormBase:: |
public | function | Resets the configuration factory. | |
FormBase:: |
public | function | Sets the config factory for this form. | |
FormBase:: |
public | function | Sets the request stack object to use. | |
FormBase:: |
public | function |
Form validation handler. Overrides FormInterface:: |
72 |
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
LoginDisableSettingsForm:: |
public | function |
Form constructor. Overrides ConfigFormBase:: |
|
LoginDisableSettingsForm:: |
protected | function |
Gets the configuration names that will be editable. Overrides ConfigFormBaseTrait:: |
|
LoginDisableSettingsForm:: |
public | function |
Returns a unique string identifying the form. Overrides FormInterface:: |
|
LoginDisableSettingsForm:: |
public | function |
Form submission handler. Overrides ConfigFormBase:: |
|
MessengerTrait:: |
protected | property | The messenger. | 27 |
MessengerTrait:: |
public | function | Gets the messenger. | 27 |
MessengerTrait:: |
public | function | Sets the messenger. | |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 4 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |