From 9c3a11025a0a464f3862c471edd042ed86fc6ddb Mon Sep 17 00:00:00 2001 From: arunsahijpal <arunsahijpal111@gmail.com> Date: Mon, 17 Mar 2025 14:44:19 +0530 Subject: [PATCH] Issue #3512158: Updated HtmlMailConfigurationForm.php . --- src/Form/HtmlMailConfigurationForm.php | 29 +++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/Form/HtmlMailConfigurationForm.php b/src/Form/HtmlMailConfigurationForm.php index 2fd3a16..20115dc 100644 --- a/src/Form/HtmlMailConfigurationForm.php +++ b/src/Form/HtmlMailConfigurationForm.php @@ -2,12 +2,13 @@ namespace Drupal\htmlmail\Form; +use Drupal\htmlmail\Helper\HtmlMailHelper; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Symfony\Component\DependencyInjection\ContainerInterface; -use Drupal\htmlmail\Helper\HtmlMailHelper; /** * Class HtmlMailConfigurationForm. @@ -17,22 +18,31 @@ use Drupal\htmlmail\Helper\HtmlMailHelper; class HtmlMailConfigurationForm extends ConfigFormBase { /** - * The module_handler service. + * The module handler service. * * @var \Drupal\Core\Extension\ModuleHandlerInterface */ - protected $moduleHandler; + protected ModuleHandlerInterface $moduleHandler; /** * HtmlMailConfigurationForm constructor. * * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory - * Config factory service, injected into constructor. + * Config factory service. + * @param \Drupal\Core\Config\TypedConfigManagerInterface $typed_config_manager + * Typed config manager service. * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler - * Module Handler service, injected into constructor. + * Module handler service. */ - public function __construct(ConfigFactoryInterface $config_factory, ModuleHandlerInterface $module_handler) { - parent::__construct($config_factory); + + public function __construct(ConfigFactoryInterface $config_factory, $typed_config_manager_or_messenger, ModuleHandlerInterface $module_handler) { + // Check if the second argument is TypedConfigManagerInterface (Drupal 10.2+) + if ($typed_config_manager_or_messenger instanceof TypedConfigManagerInterface) { + parent::__construct($config_factory, $typed_config_manager_or_messenger); + } + else { + parent::__construct($config_factory); + } $this->moduleHandler = $module_handler; } @@ -40,8 +50,13 @@ class HtmlMailConfigurationForm extends ConfigFormBase { * {@inheritdoc} */ public static function create(ContainerInterface $container) { + $typed_config_manager_or_messenger = $container->has('config.typed') + ? $container->get('config.typed') + : null; + return new static( $container->get('config.factory'), + $typed_config_manager_or_messenger, $container->get('module_handler') ); } -- GitLab