Bug #82096 ยป FormInlineAjaxController.php.patch
typo3/sysext/backend/Classes/Controller/FormInlineAjaxController.php | ||
---|---|---|
<?php
|
||
namespace TYPO3\CMS\Backend\Controller;
|
||
/*
|
||
... | ... | |
$parentData = $formDataCompiler->compile($formDataCompilerInputForParent);
|
||
$parentConfig = $parentData['processedTca']['columns'][$parentFieldName]['config'];
|
||
if (isset($ajaxArguments['context'])) {
|
||
$context = json_decode($ajaxArguments['context'], true);
|
||
if (GeneralUtility::hmac(serialize($context['config'])) === $context['hmac']) {
|
||
$parentConfig = $context['config'];
|
||
}
|
||
}
|
||
// Child, a record from this table should be rendered
|
||
$child = $inlineStackProcessor->getUnstableStructure();
|
||
if (MathUtility::canBeInterpretedAsInteger($child['uid'])) {
|
||
... | ... | |
$parentData = $formDataCompiler->compile($formDataCompilerInputForParent);
|
||
$parentConfig = $parentData['processedTca']['columns'][$parentFieldName]['config'];
|
||
if (isset($ajaxArguments['context'])) {
|
||
$context = json_decode($ajaxArguments['context'], true);
|
||
if (GeneralUtility::hmac(serialize($context['config'])) === $context['hmac']) {
|
||
$parentConfig = $context['config'];
|
||
}
|
||
}
|
||
if ($parentConfig['type'] === 'flex') {
|
||
$parentConfig = $this->getParentConfigFromFlexForm($parentConfig, $domObjectId);
|
||
$parentData['processedTca']['columns'][$parentFieldName]['config'] = $parentConfig;
|
||
... | ... | |
$formDataCompiler = GeneralUtility::makeInstance(FormDataCompiler::class, $formDataGroup);
|
||
$parentData = $formDataCompiler->compile($formDataCompilerInputForParent);
|
||
$parentConfig = $parentData['processedTca']['columns'][$parentFieldName]['config'];
|
||
if (isset($ajaxArguments['context'])) {
|
||
$context = json_decode($ajaxArguments['context'], true);
|
||
if (GeneralUtility::hmac(serialize($context['config'])) === $context['hmac']) {
|
||
$parentConfig = $context['config'];
|
||
}
|
||
}
|
||
$parentLanguageField = $parentData['processedTca']['ctrl']['languageField'];
|
||
$parentLanguage = $parentData['databaseRow'][$parentLanguageField];
|
||
$oldItemList = $parentData['databaseRow'][$parentFieldName];
|
||
... | ... | |
'inlineParentTableName' => $parentData['tableName'],
|
||
'inlineParentFieldName' => $parentFieldName,
|
||
// values of the top most parent element set on first level and not overridden on following levels
|
||
// values of the top most parent element set on first level and not overridden on following levels
|
||
'inlineTopMostParentUid' => $parentData['inlineTopMostParentUid'] ?: $inlineTopMostParent['uid'],
|
||
'inlineTopMostParentTableName' => $parentData['inlineTopMostParentTableName'] ?: $inlineTopMostParent['table'],
|
||
'inlineTopMostParentFieldName' => $parentData['inlineTopMostParentFieldName'] ?: $inlineTopMostParent['field'],
|