Skip to content
Snippets Groups Projects

Issue #3511491 by smustgrave: Start new branch, gitlab, D11

Files

+ 16
22
@@ -3,15 +3,14 @@
namespace Drupal\flood_settings\Form;
use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\Core\Config\TypedConfigManagerInterface;
use Drupal\Core\Form\ConfigFormBase;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Datetime\DateFormatterInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Class FloodSettings.
*
* @package Drupal\flood_settings\Form
* Configuration form for Flood Settings module.
*/
class FloodSettings extends ConfigFormBase {
@@ -21,47 +20,42 @@ class FloodSettings extends ConfigFormBase {
const DEFAULT_USER_LIMIT = 5;
const DEFAULT_USER_WINDOW = 21600;
/**
* Drupal\Core\Datetime\DateFormatterInterface definition.
*
* @var \Drupal\Core\Datetime\DateFormatterInterface
*/
protected $dateFormatter;
/**
* FloodSettings constructor.
*
* @param \Drupal\Core\Datetime\DateFormatterInterface $date_formatter
* @param \Drupal\Core\Datetime\DateFormatterInterface $dateFormatter
* DateFormatterInterface Object.
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The configuration factory service.
* @param \Drupal\Core\Config\TypedConfigManagerInterface $typedConfigManager
* The typed config manager.
*/
public function __construct(DateFormatterInterface $date_formatter, ConfigFactoryInterface $config_factory) {
parent::__construct($config_factory);
$this->dateFormatter = $date_formatter;
public function __construct(protected DateFormatterInterface $dateFormatter, ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager) {
parent::__construct($config_factory, $typedConfigManager);
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
public static function create(ContainerInterface $container): static {
return new static(
$container->get('date.formatter'),
$container->get('config.factory')
$container->get('config.factory'),
$container->get('config.typed'),
);
}
/**
* {@inheritdoc}
*/
public function getFormId() {
public function getFormId(): array|string {
return str_replace('.', '_', self::SETTINGS_KEY);
}
/**
* {@inheritdoc}
*/
protected function getEditableConfigNames() {
protected function getEditableConfigNames(): array {
return [
self::SETTINGS_KEY,
];
@@ -70,7 +64,7 @@ class FloodSettings extends ConfigFormBase {
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state) {
public function buildForm(array $form, FormStateInterface $form_state): array {
$config = $this->config(self::SETTINGS_KEY);
$occurrenceLimits = [
@@ -163,7 +157,7 @@ class FloodSettings extends ConfigFormBase {
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state) {
public function submitForm(array &$form, FormStateInterface $form_state): void {
foreach (['uid_only', 'ip_limit', 'ip_window', 'user_limit', 'user_window'] as $configKey) {
$this->configFactory->getEditable(self::SETTINGS_KEY)
->set($configKey, $form_state->getValue($configKey))
@@ -178,14 +172,14 @@ class FloodSettings extends ConfigFormBase {
* @param array $time_intervals
* Intervals time array.
* @param int $granularity
* Ganularity value.
* Granularity value.
* @param string|null $langcode
* Langcode value.
*
* @return array
* Return an array.
*/
protected function buildOptions(array $time_intervals, $granularity = 2, $langcode = NULL) {
protected function buildOptions(array $time_intervals, int $granularity = 2, ?string $langcode = NULL): array {
$callback = function ($value) use ($granularity, $langcode) {
return $this->dateFormatter->formatInterval($value, $granularity, $langcode);
};
Loading