From 01f42d52ef181a8502dba4ca228ce305bf960c28 Mon Sep 17 00:00:00 2001 From: Yassine Guedidi Date: Mon, 23 Dec 2024 00:09:03 +0100 Subject: [PATCH] Use one expression language instance for all extra fields --- src/SiteConfig/LoginFormAuthenticator.php | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/src/SiteConfig/LoginFormAuthenticator.php b/src/SiteConfig/LoginFormAuthenticator.php index c857413d5..b3ebbd5d1 100644 --- a/src/SiteConfig/LoginFormAuthenticator.php +++ b/src/SiteConfig/LoginFormAuthenticator.php @@ -10,11 +10,11 @@ use Wallabag\ExpressionLanguage\AuthenticatorProvider; class LoginFormAuthenticator { - private AuthenticatorProvider $authenticatorProvider; + private ExpressionLanguage $expressionLanguage; public function __construct(AuthenticatorProvider $authenticatorProvider) { - $this->authenticatorProvider = $authenticatorProvider; + $this->expressionLanguage = new ExpressionLanguage(null, [$authenticatorProvider]); } /** @@ -90,8 +90,7 @@ class LoginFormAuthenticator foreach ($siteConfig->getExtraFields() as $fieldName => $fieldValue) { if ('@=' === substr($fieldValue, 0, 2)) { - $expressionLanguage = $this->getExpressionLanguage(); - $fieldValue = $expressionLanguage->evaluate( + $fieldValue = $this->expressionLanguage->evaluate( substr($fieldValue, 2), [ 'config' => $siteConfig, @@ -104,15 +103,4 @@ class LoginFormAuthenticator return $extraFields; } - - /** - * @return ExpressionLanguage - */ - private function getExpressionLanguage() - { - return new ExpressionLanguage( - null, - [$this->authenticatorProvider] - ); - } }