From ae74641fe6486af996b6ad2fc9543d66c48079e9 Mon Sep 17 00:00:00 2001 From: Ingolf Steinhardt Date: Mon, 6 Jan 2025 13:17:00 +0100 Subject: [PATCH] Fix tree controller --- src/Controller/BackendTreeController.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/Controller/BackendTreeController.php b/src/Controller/BackendTreeController.php index ff5ee1af..f4cef781 100644 --- a/src/Controller/BackendTreeController.php +++ b/src/Controller/BackendTreeController.php @@ -133,8 +133,6 @@ private function initializeAndExtractRequest(): Request * @var Controller $controller */ $controller = $framework->getAdapter(Controller::class); - /** @psalm-suppress DeprecatedMethod */ - $controller->setStaticUrls(); $controller->loadLanguageFile('default'); $requestStack = $container->get('request_stack'); @@ -171,13 +169,16 @@ private function runBackendTree(Request $request) { [$value, $treeSelector] = $this->getTemplateData($request); + $container = $this->container; + assert($container instanceof SymfonyContainerInterface); + $template = new ContaoBackendViewTemplate('be_main'); $template ->set('isPopup', true) ->set('main', $treeSelector->generatePopup()) ->set('theme', Backend::getTheme()) ->set('base', Environment::get('base')) - ->set('language', $GLOBALS['TL_LANGUAGE']) + ->set('language', $container->get('request_stack')->getCurrentRequest()->getLocale()) ->set( 'title', StringUtil::specialchars( @@ -188,7 +189,7 @@ private function runBackendTree(Request $request) ) ) ) - ->set('charset', $GLOBALS['TL_CONFIG']['characterSet']) + ->set('charset', 'utf-8') ->set('addSearch', $treeSelector->searchField) ->set('search', $this->getTranslator()->trans('search', [], 'dc-general')) ->set('action', StringUtil::ampersand($request->getUri())) @@ -357,7 +358,10 @@ private function getTemplateData(Request $request, bool $valueFromRequest = fals $picker = $pickerBuilder->createFromData($getPicker); assert($picker instanceof PickerInterface); $treeSelector = $this->prepareTreeSelector($picker); - $session = $container->get('session'); + //$session = $container->get('session'); + $requestStack = $container->get('request_stack'); + assert($requestStack instanceof RequestStack); + $session = $requestStack->getSession(); assert($session instanceof SessionInterface); $sessionBag = $session->getBag('contao_backend'); assert($sessionBag instanceof AttributeBagInterface); @@ -404,7 +408,10 @@ private function prepareTreeSelector(PickerInterface $picker) $container = $this->container; assert($container instanceof SymfonyContainerInterface); - $session = $container->get('session'); + //$session = $container->get('session'); + $requestStack = $container->get('request_stack'); + assert($requestStack instanceof RequestStack); + $session = $requestStack->getSession(); assert($session instanceof SessionInterface); $sessionBag = $session->getBag('contao_backend');