From 5580e56952657c6521d6f8d9175bb6d08480b58a Mon Sep 17 00:00:00 2001 From: Peter Kraume Date: Sun, 17 Mar 2024 19:59:41 +0100 Subject: [PATCH] [TASK] Use context API instead of TSFE In TYPO3 v13 `TypoScriptFrontendController->getContext()` has been marked as @internal`. --- Classes/Cache/Rule/NoWorkspacePreview.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Classes/Cache/Rule/NoWorkspacePreview.php b/Classes/Cache/Rule/NoWorkspacePreview.php index e0c5a9152c8..a539c500b35 100644 --- a/Classes/Cache/Rule/NoWorkspacePreview.php +++ b/Classes/Cache/Rule/NoWorkspacePreview.php @@ -5,20 +5,25 @@ namespace SFC\Staticfilecache\Cache\Rule; use Psr\Http\Message\ServerRequestInterface; -use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController; +use TYPO3\CMS\Core\Context\Context; /** * No workspace preview. */ class NoWorkspacePreview extends AbstractRule { + public function __construct( + private readonly Context $context, + ) + { + } + /** * Check if it is no workspace preview. */ public function checkRule(ServerRequestInterface $request, array &$explanation, bool &$skipProcessing): void { - $tsfe = $GLOBALS['TSFE'] ?? null; - if ($tsfe instanceof TypoScriptFrontendController && $tsfe->getContext()->getPropertyFromAspect('workspace', 'isOffline', false)) { + if ($this->context->getPropertyFromAspect('workspace', 'isOffline', false)) { $explanation[__CLASS__] = 'The page is in workspace preview mode'; } }