From 1787a1415e148dfbd1ae08b3f43526c58c467361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hyacinthe=20Compaor=C3=A9?= <131278191+compaoreh338@users.noreply.github.com> Date: Mon, 9 Mar 2026 16:01:51 +0000 Subject: [PATCH 1/2] Update ArgumentService.php --- Classes/Service/ArgumentService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/Service/ArgumentService.php b/Classes/Service/ArgumentService.php index c5339b4..b3181d9 100644 --- a/Classes/Service/ArgumentService.php +++ b/Classes/Service/ArgumentService.php @@ -95,7 +95,7 @@ protected function getRecord($identifier) ); $record = $query - ->execute() + ->executeQuery() ->fetchAssociative(); return $record; From 44cdace76c36480495fb10bf9cd3ba7e8b850ac2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hyacinthe=20Compaor=C3=A9?= <131278191+compaoreh338@users.noreply.github.com> Date: Mon, 9 Mar 2026 16:10:16 +0000 Subject: [PATCH 2/2] fix: update FlashMessageQueue.php --- Classes/Service/FlashMessageQueue.php | 40 +++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/Classes/Service/FlashMessageQueue.php b/Classes/Service/FlashMessageQueue.php index 99c8369..7dcbea5 100644 --- a/Classes/Service/FlashMessageQueue.php +++ b/Classes/Service/FlashMessageQueue.php @@ -27,6 +27,13 @@ class FlashMessageQueue implements SingletonInterface */ protected $messages = []; + /** + * In-memory fallback when no frontend user session is available (e.g. CLI or before TSFE init). + * + * @var array> + */ + private static $memoryFallback = []; + /** * @param string $message */ @@ -68,7 +75,12 @@ protected function setMessage(string $severity, string $message) 'text' => $message ]; - $this->getFrontendUser()->setAndSaveSessionData($this->getKey(), $messages); + $feUser = $this->getFrontendUser(); + if ($feUser !== null) { + $feUser->setAndSaveSessionData($this->getKey(), $messages); + } else { + self::$memoryFallback[$this->getKey()] = $messages; + } } /** @@ -76,7 +88,11 @@ protected function setMessage(string $severity, string $message) */ public function getMessages(): array { - return $this->getFrontendUser()->getKey('ses', $this->getKey()) ?? []; + $feUser = $this->getFrontendUser(); + if ($feUser !== null) { + return $feUser->getKey('ses', $this->getKey()) ?? []; + } + return self::$memoryFallback[$this->getKey()] ?? []; } /** @@ -85,8 +101,15 @@ public function getMessages(): array public function getMessagesAndFlush(): array { $messages = $this->getMessages(); - - $this->getFrontendUser()->setAndSaveSessionData($this->getKey(), []); + $feUser = $this->getFrontendUser(); + if ($feUser !== null) { + $feUser->setAndSaveSessionData($this->getKey(), []); + } else { + $key = $this->getKey(); + if (isset(self::$memoryFallback[$key])) { + unset(self::$memoryFallback[$key]); + } + } return $messages; } @@ -98,9 +121,14 @@ protected function getKey(): string return 'formule-flush-messages-' . $this->getTemplateService()->getTemplateIdentifier(); } - protected function getFrontendUser(): FrontendUserAuthentication + protected function getFrontendUser(): ?FrontendUserAuthentication { - return $GLOBALS['TSFE']->fe_user; + $tsfe = $GLOBALS['TSFE'] ?? null; + if (!is_object($tsfe) || !isset($tsfe->fe_user)) { + return null; + } + $feUser = $tsfe->fe_user; + return $feUser instanceof FrontendUserAuthentication ? $feUser : null; } protected function getTemplateService(): TemplateService