[TASK] Deprecate FrontendEditingController
[Packages/TYPO3.CMS.git] / typo3 / sysext / feedit / Classes / Middleware / FrontendEditInitiator.php
index fc958ca..8c0b77b 100644 (file)
@@ -21,7 +21,6 @@ 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\Feedit\DataHandling\FrontendEditDataHandler;
 use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;
@@ -45,9 +44,12 @@ class FrontendEditInitiator implements MiddlewareInterface
         if (isset($GLOBALS['BE_USER']) && $GLOBALS['BE_USER'] instanceof FrontendBackendUserAuthentication) {
             $config = $GLOBALS['BE_USER']->getTSConfig()['admPanel.'] ?? [];
             $active = (int)$GLOBALS['TSFE']->displayEditIcons === 1 || (int)$GLOBALS['TSFE']->displayFieldEditIcons === 1;
+            // Include classes for editing IF editing module in Admin Panel is open
             if ($active && isset($config['enable.'])) {
                 foreach ($config['enable.'] as $value) {
                     if ($value) {
+                        $parameters = $request->getParsedBody()['TSFE_EDIT'] ?? $request->getQueryParams()['TSFE_EDIT'] ?? null;
+                        $isValidEditAction = $this->isValidEditAction($parameters);
                         if ($GLOBALS['TSFE'] instanceof TypoScriptFrontendController) {
                             // Grab the Page TSConfig property that determines which controller to use.
                             $pageTSConfig = $GLOBALS['TSFE']->getPagesTSconfig();
@@ -55,18 +57,17 @@ class FrontendEditInitiator implements MiddlewareInterface
                         } else {
                             $controllerKey = 'default';
                         }
-                        $controllerClassName = $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tsfebeuserauth.php']['frontendEditingController'][$controllerKey] ?? '';
+                        /** @deprecated will be removed in TYPO3 v10.0. */
+                        $controllerClassName = $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tsfebeuserauth.php']['frontendEditingController'][$controllerKey] ?? \TYPO3\CMS\Core\FrontendEditing\FrontendEditingController::class;
                         if (!empty($controllerClassName)) {
-                            $parameters = $request->getParsedBody()['TSFE_EDIT'] ?? $request->getQueryParams()['TSFE_EDIT'] ?? null;
-                            $isValidEditAction = $this->isValidEditAction($parameters);
+                            /** @deprecated will be removed in TYPO3 v10.0. */
                             $GLOBALS['BE_USER']->frontendEdit = GeneralUtility::makeInstance(
                                 $controllerClassName,
                                 $parameters
                             );
-                            // Include classes for editing IF editing module in Admin Panel is open
-                            if ($GLOBALS['BE_USER']->frontendEdit instanceof FrontendEditingController && $isValidEditAction) {
-                                GeneralUtility::makeInstance(FrontendEditDataHandler::class, $parameters)->editAction();
-                            }
+                        }
+                        if ($isValidEditAction) {
+                            GeneralUtility::makeInstance(FrontendEditDataHandler::class, $parameters)->editAction();
                         }
                         break;
                     }