Project

General

Profile

Actions

Bug #77294

closed

Story #69617: FormEngine bugs

Backend form engine (inline,tt_content) CType=table wizard crashes on closing

Added by Henri Nathanson almost 8 years ago. Updated about 6 years ago.

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: });


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Bug #81666: TYPO3 exception in table wizard, when table is nested in a record (e.g. tx_news)Closed2017-06-22

Actions
Actions

Also available in: Atom PDF