diff --git a/typo3/sysext/core/Classes/FrontendEditing/FrontendEditingController.php b/typo3/sysext/core/Classes/FrontendEditing/FrontendEditingController.php index c3b3a9abe205fade93aff6a7186a819d920fb0e7..eae8d2bac5b2555b69c3e0e2e1dcf273ca58bde8 100644 --- a/typo3/sysext/core/Classes/FrontendEditing/FrontendEditingController.php +++ b/typo3/sysext/core/Classes/FrontendEditing/FrontendEditingController.php @@ -48,10 +48,11 @@ class FrontendEditingController { $this->TSFE_EDIT = GeneralUtility::_GP('TSFE_EDIT'); // Include classes for editing IF editing module in Admin Panel is open - if ($GLOBALS['BE_USER']->isFrontendEditingActive()) { - if ($this->isEditAction()) { - $this->editAction(); - } + if (((int)$GLOBALS['TSFE']->displayEditIcons === 1 + || (int)$GLOBALS['TSFE']->displayFieldEditIcons === 1) + && $this->isEditAction() + ) { + $this->editAction(); } } diff --git a/typo3/sysext/feedit/Classes/Middleware/FrontendEditInitiator.php b/typo3/sysext/feedit/Classes/Middleware/FrontendEditInitiator.php index 96c7ede4ec2d747b18fb583f6bf7cf4685e4b21a..29b8ade5d3deb6374a4994207cd5e93da5b209d7 100644 --- a/typo3/sysext/feedit/Classes/Middleware/FrontendEditInitiator.php +++ b/typo3/sysext/feedit/Classes/Middleware/FrontendEditInitiator.php @@ -21,6 +21,7 @@ use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\MiddlewareInterface; use Psr\Http\Server\RequestHandlerInterface; use TYPO3\CMS\Backend\FrontendBackendUserAuthentication; +use TYPO3\CMS\Core\FrontendEditing\FrontendEditingController; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController; @@ -40,7 +41,7 @@ class FrontendEditInitiator implements MiddlewareInterface */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { - if ($GLOBALS['BE_USER'] instanceof FrontendBackendUserAuthentication) { + if (isset($GLOBALS['BE_USER']) && $GLOBALS['BE_USER'] instanceof FrontendBackendUserAuthentication) { $config = $GLOBALS['BE_USER']->getTSConfigProp('admPanel'); $active = (int)$GLOBALS['TSFE']->displayEditIcons === 1 || (int)$GLOBALS['TSFE']->displayFieldEditIcons === 1; if ($active && isset($config['enable.'])) { @@ -56,6 +57,9 @@ class FrontendEditInitiator implements MiddlewareInterface $controllerClass = $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tsfebeuserauth.php']['frontendEditingController'][$controllerKey]; if ($controllerClass) { $GLOBALS['BE_USER']->frontendEdit = GeneralUtility::makeInstance($controllerClass); + if ($controllerClass instanceof FrontendEditingController) { + $GLOBALS['BE_USER']->frontendEdit->initConfigOptions(); + } } break; } diff --git a/typo3/sysext/frontend/Classes/Http/RequestHandler.php b/typo3/sysext/frontend/Classes/Http/RequestHandler.php index e00620edc6d78456957020f2e91a6807718eccbf..bff3d7c30c392581834a99d480960b29c7a8ffd8 100644 --- a/typo3/sysext/frontend/Classes/Http/RequestHandler.php +++ b/typo3/sysext/frontend/Classes/Http/RequestHandler.php @@ -19,7 +19,6 @@ namespace TYPO3\CMS\Frontend\Http; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface as PsrRequestHandlerInterface; -use TYPO3\CMS\Core\FrontendEditing\FrontendEditingController; use TYPO3\CMS\Core\Http\NullResponse; use TYPO3\CMS\Core\Http\RequestHandlerInterface; use TYPO3\CMS\Core\Http\Response; @@ -69,14 +68,6 @@ class RequestHandler implements RequestHandlerInterface, PsrRequestHandlerInterf /** @var TypoScriptFrontendController $controller */ $controller = $GLOBALS['TSFE']; - // Admin Panel & Frontend editing - if ($controller->isBackendUserLoggedIn()) { - $GLOBALS['BE_USER']->initializeFrontendEdit(); - if ($GLOBALS['BE_USER']->frontendEdit instanceof FrontendEditingController) { - $GLOBALS['BE_USER']->frontendEdit->initConfigOptions(); - } - } - // Starts the template $this->timeTracker->push('Start Template', ''); $controller->initTemplate();