From f348b2054e214053c0539ca440aa63bf4c530619 Mon Sep 17 00:00:00 2001
From: Stefan Froemken <froemken@gmail.com>
Date: Mon, 20 Jan 2020 16:23:09 +0100
Subject: [PATCH] [BUGFIX] Allow CSH details for extbase based FlexForms

In case of extbase many FlexForm fields are called
settings.*. As "settings" is part of the field it
should not be removed as extra identifier.

Resolves: #80295
Releases: master,9.5
Change-Id: I206f28cfc360cb526f488b2fb016139246c2cad8
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63003
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
---
 .../Classes/Controller/HelpController.php     | 21 -------------------
 1 file changed, 21 deletions(-)

diff --git a/typo3/sysext/backend/Classes/Controller/HelpController.php b/typo3/sysext/backend/Classes/Controller/HelpController.php
index c044ea2fe673..a7027755fd9c 100644
--- a/typo3/sysext/backend/Classes/Controller/HelpController.php
+++ b/typo3/sysext/backend/Classes/Controller/HelpController.php
@@ -148,27 +148,6 @@ class HelpController
         $field = $request->getQueryParams()['field'] ?? $request->getParsedBody()['field'] ?? '*';
 
         $mainKey = $table;
-        $identifierParts = GeneralUtility::trimExplode('.', $field);
-        // The field is the second one
-        if (count($identifierParts) > 1) {
-            array_shift($field);
-            // There's at least one extra part
-            $extraIdentifierInformation = [];
-            $extraIdentifierInformation[] = array_shift($identifierParts);
-            // If the ds_pointerField contains a comma, it means the choice of FlexForm DS
-            // is determined by 2 parameters. In this case we have an extra identifier part
-            if (strpos($GLOBALS['TCA'][$table]['columns'][$field]['config']['ds_pointerField'], ',') !== false) {
-                $extraIdentifierInformation[] = array_shift($identifierParts);
-            }
-            // The remaining parts make up the FlexForm field name itself (reassembled with dots)
-            $flexFormField = implode('.', $identifierParts);
-            // Assemble a different main key and switch field to use FlexForm field name
-            $mainKey .= '.' . $field;
-            foreach ($extraIdentifierInformation as $extraKey) {
-                $mainKey .= '.' . $extraKey;
-            }
-            $field = $flexFormField;
-        }
 
         $this->view->assignMultiple([
             'table' => $table,
-- 
GitLab