diff --git a/Classes/Configuration.php b/Classes/Configuration.php index 34bd68a..fb36c76 100644 --- a/Classes/Configuration.php +++ b/Classes/Configuration.php @@ -6,10 +6,9 @@ use TYPO3\CMS\Core\Core\Environment; use TYPO3\CMS\Core\Http\ServerRequest; -use TYPO3\CMS\Core\Site\Entity\Site; use TYPO3\CMS\Core\Utility\GeneralUtility; -class Configuration +class Configuration implements ConfigurationInterface { public const DEFAULT_JS_PATH = 'EXT:friendlycaptcha_official/Resources/Public/JavaScript/lib/sdk@0.1.8-site.compat.min.js'; @@ -20,11 +19,10 @@ class Configuration protected string $jsPath = ''; protected bool $skipDevValidation = false; - public function __construct(Site $site = null) + public function __construct() { - if ($site === null) { - $site = $GLOBALS['TYPO3_REQUEST']->getAttribute('site'); - } + $site = $GLOBALS['TYPO3_REQUEST']->getAttribute('site'); + if ($site === null) { return; } diff --git a/Classes/ConfigurationInterface.php b/Classes/ConfigurationInterface.php new file mode 100644 index 0000000..b1df363 --- /dev/null +++ b/Classes/ConfigurationInterface.php @@ -0,0 +1,24 @@ +factory = $factory; $this->client = $client; $this->logger = $logger; - $this->configuration = new Configuration(); + $this->configuration = $configuration; } public function verify(string $response = ''): bool diff --git a/Classes/ViewHelpers/ConfigurationViewHelper.php b/Classes/ViewHelpers/ConfigurationViewHelper.php index ea05c4f..312c7a6 100644 --- a/Classes/ViewHelpers/ConfigurationViewHelper.php +++ b/Classes/ViewHelpers/ConfigurationViewHelper.php @@ -4,7 +4,8 @@ namespace StudioMitte\FriendlyCaptcha\ViewHelpers; -use StudioMitte\FriendlyCaptcha\Configuration; +use StudioMitte\FriendlyCaptcha\ConfigurationInterface; +use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper; use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic; @@ -14,7 +15,7 @@ class ConfigurationViewHelper extends AbstractViewHelper public static function render() { - $configuration = new Configuration(); + $configuration = GeneralUtility::makeInstance(ConfigurationInterface::class); return [ 'siteKey' => $configuration->getSiteKey(), 'verifyUrl' => $configuration->getVerifyUrl(), diff --git a/Configuration/Services.yaml b/Configuration/Services.yaml index e7df2ac..0ded971 100644 --- a/Configuration/Services.yaml +++ b/Configuration/Services.yaml @@ -9,3 +9,7 @@ services: StudioMitte\FriendlyCaptcha\Service\Api: public: true + + StudioMitte\FriendlyCaptcha\ConfigurationInterface: + alias: StudioMitte\FriendlyCaptcha\Configuration + public: true