Project

General

Profile

Bug #82096 ยป FormInlineAjaxController.php.patch

Bart Lammers, 2017-09-13 14:11

View differences:

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'],
    (1-1/1)