[BUGFIX] Do not call deprecated feedit initialize method 18/56618/2
authorSusanne Moog <susanne.moog@typo3.org>
Mon, 9 Apr 2018 18:47:02 +0000 (20:47 +0200)
committerOliver Hader <oliver.hader@typo3.org>
Mon, 9 Apr 2018 20:07:06 +0000 (22:07 +0200)
Resolves: #84677
Releases: master
Change-Id: I2d1887dd982e95e633755eed75f3bb0cdfe4d4ec
Reviewed-on: https://review.typo3.org/56618
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
typo3/sysext/core/Classes/FrontendEditing/FrontendEditingController.php
typo3/sysext/feedit/Classes/Middleware/FrontendEditInitiator.php
typo3/sysext/frontend/Classes/Http/RequestHandler.php

index c3b3a9a..eae8d2b 100644 (file)
@@ -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();
         }
     }
 
index 96c7ede..29b8ade 100644 (file)
@@ -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;
                     }
index e00620e..bff3d7c 100644 (file)
@@ -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();