public function FloodControlSettingsForm::buildForm in Flood control 1.0.x
Same name and namespace in other branches
- 2.0.x src/Form/FloodControlSettingsForm.php \Drupal\flood_control\Form\FloodControlSettingsForm::buildForm()
Form constructor.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form structure.
Overrides ConfigFormBase::buildForm
File
- src/
Form/ FloodControlSettingsForm.php, line 61 - Contains \Drupal\flood_control\Form\FloodControlSettingsForm.
Class
- FloodControlSettingsForm
- Administration settings form.
Namespace
Drupal\flood_control\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$flood_config = \Drupal::config('user.flood');
$flood_settings = $flood_config
->get();
$options = $this
->getOptions();
$counterOptions = $options['counter'];
$timeOptions = $options['time'];
// User module flood events.
$form['login'] = [
'#type' => 'fieldset',
'#title' => t('Login'),
];
$form['login']['ip_limit'] = [
'#type' => 'select',
'#title' => t('Failed login (IP) limit'),
'#options' => array_combine($counterOptions, $counterOptions),
'#default_value' => $flood_settings['ip_limit'],
];
$form['login']['ip_window'] = [
'#type' => 'select',
'#title' => t('Failed login (IP) window'),
'#options' => [
0 => t('None (disabled)'),
] + array_map([
$this->dateFormatter,
'formatInterval',
], array_combine($timeOptions, $timeOptions)),
'#default_value' => $flood_settings['ip_window'],
];
$form['login']['user_limit'] = [
'#type' => 'select',
'#title' => t('Failed login (username) limit'),
'#options' => array_combine($counterOptions, $counterOptions),
'#default_value' => $flood_settings['user_limit'],
];
$form['login']['user_window'] = [
'#type' => 'select',
'#title' => t('Failed login (username) window'),
'#options' => [
0 => t('None (disabled)'),
] + array_map([
$this->dateFormatter,
'formatInterval',
], array_combine($timeOptions, $timeOptions)),
'#default_value' => $flood_settings['user_window'],
];
// Contact module flood events.
$contact_config = \Drupal::config('contact.settings');
$contact_settings = $contact_config
->get();
$form['contact'] = [
'#type' => 'fieldset',
'#title' => t('Contact forms'),
];
$form['contact']['contact_threshold_limit'] = [
'#type' => 'select',
'#title' => t('Sending e-mails limit'),
'#options' => array_combine($counterOptions, $counterOptions),
'#default_value' => $contact_settings['flood']['limit'],
];
$form['contact']['contact_threshold_window'] = [
'#type' => 'select',
'#title' => t('Sending e-mails window'),
'#options' => [
0 => t('None (disabled)'),
] + array_map([
$this->dateFormatter,
'formatInterval',
], array_combine($timeOptions, $timeOptions)),
'#default_value' => $contact_settings['flood']['interval'],
];
return parent::buildForm($form, $form_state);
}