class ConfigForm in Auto Login URL 8
Same name and namespace in other branches
- 2.x src/Form/ConfigForm.php \Drupal\auto_login_url\Form\ConfigForm
Hierarchy
- class \Drupal\Core\Form\FormBase implements ContainerInjectionInterface, FormInterface uses DependencySerializationTrait, LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\Core\Form\ConfigFormBase uses ConfigFormBaseTrait
- class \Drupal\auto_login_url\Form\ConfigForm
- class \Drupal\Core\Form\ConfigFormBase uses ConfigFormBaseTrait
Expanded class hierarchy of ConfigForm
1 string reference to 'ConfigForm'
File
- src/
Form/ ConfigForm.php, line 8
Namespace
Drupal\auto_login_url\FormView source
class ConfigForm extends ConfigFormBase {
/**
* {@inheritdoc}
*/
public function getFormId() {
return 'auto_login_url_settings';
}
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state) {
$config = $this
->config('auto_login_url.settings');
// Secret word.
$form['auto_login_url_secret'] = [
'#type' => 'textfield',
'#title' => $this
->t('Secret word'),
'#required' => TRUE,
'#default_value' => \Drupal::service('auto_login_url.general')
->getSecret(),
'#description' => $this
->t('Secret word to create hashes that are stored in DB.
Every time this changes all previous URLs are invalidated.'),
];
// Expiration.
$form['auto_login_url_expiration'] = [
'#title' => $this
->t('Expiration'),
'#required' => TRUE,
'#default_value' => $config
->get('expiration'),
'#description' => $this
->t('Expiration of URLs in seconds.'),
];
// Delete URLs on use.
$form['auto_login_url_delete_on_use'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Delete on use'),
'#default_value' => $config
->get('delete'),
'#description' => $this
->t('Auto delete URLs after use.'),
];
// Token length.
$form['auto_login_url_token_length'] = [
'#type' => 'textfield',
'#title' => $this
->t('Token length'),
'#required' => TRUE,
'#default_value' => $config
->get('token_length') != FALSE ? $config
->get('token_length') : 64,
'#description' => $this
->t('Length of generated URL token.
WARNING: Please understand the security implications of a short auto-login-url string before you change this value.
It has to be between 8 and 64 digits.'),
];
return parent::buildForm($form, $form_state);
}
/**
* Implements \Drupal\Core\Form\FormInterface::validateForm().
*/
public function validateForm(array &$form, FormStateInterface $form_state) {
parent::validateForm($form, $form_state);
if ($form_state
->getValue('auto_login_url_expiration') < 1) {
$form_state
->setErrorByName('auto_login_url_expiration', $this
->t('Expiration must be positive integer.'));
}
if ($form_state
->getValue('auto_login_url_token_length') < 8 || $form_state
->getValue('auto_login_url_token_length') > 64) {
$form_state
->setErrorByName('auto_login_url_token_length', $this
->t('Token length has to be between 6 and 64 digits.'));
}
}
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state) {
$values = $form_state
->getValues();
$config = $this
->config('auto_login_url.settings');
$config
->set('secret', $values['auto_login_url_secret'])
->save();
$config
->set('expiration', $values['auto_login_url_expiration'])
->save();
$config
->set('delete', $values['auto_login_url_delete_on_use'])
->save();
$config
->set('token_length', $values['auto_login_url_token_length'])
->save();
parent::submitForm($form, $form_state);
}
/**
* {@inheritdoc}
*/
public function getEditableConfigNames() {
return [
'auto_login_url.settings',
];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigForm:: |
public | function |
Form constructor. Overrides ConfigFormBase:: |
|
ConfigForm:: |
public | function |
Gets the configuration names that will be editable. Overrides ConfigFormBaseTrait:: |
|
ConfigForm:: |
public | function |
Returns a unique string identifying the form. Overrides FormInterface:: |
|
ConfigForm:: |
public | function |
Form submission handler. Overrides ConfigFormBase:: |
|
ConfigForm:: |
public | function |
Implements \Drupal\Core\Form\FormInterface::validateForm(). Overrides FormBase:: |
|
ConfigFormBase:: |
public static | function |
Instantiates a new instance of this class. Overrides FormBase:: |
13 |
ConfigFormBase:: |
public | function | Constructs a \Drupal\system\ConfigFormBase object. | 11 |
ConfigFormBaseTrait:: |
protected | function | Retrieves a configuration object. | |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
FormBase:: |
protected | property | The config factory. | 1 |
FormBase:: |
protected | property | The request stack. | 1 |
FormBase:: |
protected | property | The route match. | |
FormBase:: |
protected | function | Gets the config factory for this form. | 1 |
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. Overrides UrlGeneratorTrait:: |
|
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. | |
LinkGeneratorTrait:: |
protected | property | The link generator. | 1 |
LinkGeneratorTrait:: |
protected | function | Returns the link generator. | |
LinkGeneratorTrait:: |
protected | function | Renders a link to a route given a route name and its parameters. | |
LinkGeneratorTrait:: |
public | function | Sets the link generator service. | |
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. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
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. | 1 |
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. | |
UrlGeneratorTrait:: |
protected | property | The url generator. | |
UrlGeneratorTrait:: |
protected | function | Returns the URL generator service. | |
UrlGeneratorTrait:: |
public | function | Sets the URL generator service. | |
UrlGeneratorTrait:: |
protected | function | Generates a URL or path for a specific route based on the given parameters. |