Actions
Bug #77294
closedStory #69617: FormEngine bugs
Backend form engine (inline,tt_content) CType=table wizard crashes on closing
Status:
Closed
Priority:
Should have
Assignee:
-
Category:
FormEngine aka TCEforms
Target version:
-
Start date:
2016-07-28
Due date:
% Done:
0%
Estimated time:
TYPO3 Version:
7
PHP Version:
5.5
Tags:
Complexity:
Is Regression:
No
Sprint Focus:
Description
Add an inline element - see TCA below. Open the record in the backend and add an inline record. Add the title first and save, only then the table wizard is available. Open the wizard and enter data. Klick save+leave or just the leave button. It crashes. Trace see below. It does save the data correctly. The behaviour depends on how the inline element is displayed as you open the parent record. If the inline is closed, the wizard it will crash. If the inline is open, the wizard will just work fine. For newly created records it may just always crash.
'sheet' => array( 'exclude' => 1, 'label' => 'TABELLE', 'config' => array( 'type' => 'inline', 'foreign_table' => 'tt_content', 'foreign_record_defaults' => array( 'CType' => 'table' ), 'minitems' => 0, 'maxitems' => 1, ) ),
TYPO3 7.6.10 with a patch for escaping - https://forge.typo3.org/issues/76668
Uncaught TYPO3 Exception #1: PHP Catchable Fatal Error: Argument 1 passed to TYPO3\CMS\Backend\Controller\FormInlineAjaxController::addFlexFormDataStructurePointersFromAjaxContext() must be of the type array, null given, called in /var/www/typo3.sourcen/typo3_src-7.6.10-patchEncoding/typo3/sysext/backend/Classes/Controller/FormInlineAjaxController.php on line 245 and defined in /var/www/typo3.sourcen/typo3_src-7.6.10-patchEncoding/typo3/sysext/backend/Classes/Controller/FormInlineAjaxController.php line 933 (More information) TYPO3\CMS\Core\Error\Exception thrown in file /var/www/typo3.sourcen/typo3_src-7.6.10-patchEncoding/typo3/sysext/core/Classes/Error/ErrorHandler.php in line 111. 11 TYPO3\CMS\Core\Error\ErrorHandler::handleError(4096, "Argument 1 passed to TYPO3\CMS\Backend\Controller\…rmInlineAjaxController.php on line 245 and defined", "/var/www/typo3.sourcen/typo3_src-7.6.10-patchEncod…nd/Classes/Controller/FormInlineAjaxController.php", 933, array) /var/www/typo3.sourcen/typo3_src-7.6.10-patchEncoding/typo3/sysext/backend/Classes/Controller/FormInlineAjaxController.php: 00931: * @return array The database row with the flexform data structure pointer columns added 00932: */ 00933: protected function addFlexFormDataStructurePointersFromAjaxContext(array $ajaxArguments, array $databaseRow) 00934: { 00935: if (!isset($ajaxArguments['context'])) { 10 TYPO3\CMS\Backend\Controller\FormInlineAjaxController::addFlexFormDataStructurePointersFromAjaxContext(NULL, array) /var/www/typo3.sourcen/typo3_src-7.6.10-patchEncoding/typo3/sysext/backend/Classes/Controller/FormInlineAjaxController.php: 00243: ]; 00244: 00245: $databaseRow = $this->addFlexFormDataStructurePointersFromAjaxContext($ajaxArguments, $databaseRow); 00246: 00247: $formDataCompilerInputForParent = [ 9 TYPO3\CMS\Backend\Controller\FormInlineAjaxController::detailsAction(TYPO3\CMS\Core\Http\ServerRequest, TYPO3\CMS\Core\Http\Response) 8 call_user_func_array(array, array) /var/www/typo3.sourcen/typo3_src-7.6.10-patchEncoding/typo3/sysext/backend/Classes/Http/RouteDispatcher.php: 00052: $targetIdentifier = $route->getOption('target'); 00053: $target = $this->getCallableFromTarget($targetIdentifier); 00054: return call_user_func_array($target, array($request, $response)); 00055: } 00056: 7 TYPO3\CMS\Backend\Http\RouteDispatcher::dispatch(TYPO3\CMS\Core\Http\ServerRequest, TYPO3\CMS\Core\Http\Response) /var/www/typo3.sourcen/typo3_src-7.6.10-patchEncoding/typo3/sysext/backend/Classes/Http/AjaxRequestHandler.php: 00169: /** @var RouteDispatcher $dispatcher */ 00170: $dispatcher = GeneralUtility::makeInstance(RouteDispatcher::class); 00171: return $dispatcher->dispatch($request, $response); 00172: } 00173: 6 TYPO3\CMS\Backend\Http\AjaxRequestHandler::dispatch(TYPO3\CMS\Core\Http\ServerRequest) /var/www/typo3.sourcen/typo3_src-7.6.10-patchEncoding/typo3/sysext/backend/Classes/Http/AjaxRequestHandler.php: 00087: try { 00088: // Backend Routing - check if a valid route is there, and dispatch 00089: return $this->dispatch($request); 00090: } catch (ResourceNotFoundException $e) { 00091: // no Route found, fallback to the traditional AJAX request 5 TYPO3\CMS\Backend\Http\AjaxRequestHandler::handleRequest(TYPO3\CMS\Core\Http\ServerRequest) /var/www/typo3.sourcen/typo3_src-7.6.10-patchEncoding/typo3/sysext/core/Classes/Core/Bootstrap.php: 00300: 00301: // Execute the command which returns a Response object or NULL 00302: $this->response = $requestHandler->handleRequest($request); 00303: return $this; 00304: } 4 TYPO3\CMS\Core\Core\Bootstrap::handleRequest(TYPO3\CMS\Core\Http\ServerRequest) /var/www/typo3.sourcen/typo3_src-7.6.10-patchEncoding/typo3/sysext/backend/Classes/Http/Application.php: 00092: } 00093: 00094: $this->bootstrap->handleRequest($this->request); 00095: 00096: if ($execute !== null) { 3 TYPO3\CMS\Backend\Http\Application::run() /var/www/typo3.sourcen/typo3_src-7.6.10-patchEncoding/typo3/index.php: 00018: call_user_func(function () { 00019: $classLoader = require __DIR__ . '/../vendor/autoload.php'; 00020: (new \TYPO3\CMS\Backend\Http\Application($classLoader))->run(); 00021: }); 2 {closure}() 1 call_user_func(Closure) /var/www/typo3.sourcen/typo3_src-7.6.10-patchEncoding/typo3/index.php: 00019: $classLoader = require __DIR__ . '/../vendor/autoload.php'; 00020: (new \TYPO3\CMS\Backend\Http\Application($classLoader))->run(); 00021: });
Actions