|
TypeError
|
|
Return value of TYPO3\CMS\Form\Hooks\DataStructureIdentifierHook::getLanguageService() must be an instance of TYPO3\CMS\Core\Localization\LanguageService, null returned
|
|
|
|
in /var/www/site-uol11/htdocs/typo3/sysext/form/Classes/Hooks/DataStructureIdentifierHook.php line 403
|
|
* @return LanguageService
|
|
*/
|
|
protected function getLanguageService(): LanguageService
|
|
{
|
|
return $GLOBALS['LANG'];
|
|
}
|
|
}
|
|
at TYPO3\CMS\Form\Hooks\DataStructureIdentifierHook->getLanguageService()
|
|
in /var/www/site-uol11/htdocs/typo3/sysext/form/Classes/Hooks/DataStructureIdentifierHook.php line 54
|
|
const L10N_PREFIX = 'LLL:EXT:form/Resources/Private/Language/Database.xlf:';
|
|
|
|
public function __construct()
|
|
{
|
|
$this->getLanguageService()->includeLLFile('EXT:form/Resources/Private/Language/Database.xlf');
|
|
}
|
|
|
|
/**
|
|
* The data structure depends on a current form selection (persistenceIdentifier)
|
|
at TYPO3\CMS\Form\Hooks\DataStructureIdentifierHook->__construct()
|
|
in /var/www/site-uol11/htdocs/typo3/sysext/core/Classes/Utility/GeneralUtility.php line 3220
|
|
return self::$container->get($className);
|
|
}
|
|
|
|
// Create new instance and call constructor with parameters
|
|
$instance = new $finalClassName(...$constructorArguments);
|
|
// Register new singleton instance, but only if it is not a known PSR-11 container service
|
|
if ($instance instanceof SingletonInterface && !(self::$container !== null && self::$container->has($className))) {
|
|
self::$singletonInstances[$finalClassName] = $instance;
|
|
}
|
|
at TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance()
|
|
in /var/www/site-uol11/htdocs/typo3/sysext/core/Classes/Configuration/FlexForm/FlexFormTools.php line 138
|
|
if (!empty($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][self::class]['flexParsing'])
|
|
&& is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][self::class]['flexParsing'])) {
|
|
$hookClasses = $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][self::class]['flexParsing'];
|
|
foreach ($hookClasses as $hookClass) {
|
|
$hookInstance = GeneralUtility::makeInstance($hookClass);
|
|
if (method_exists($hookClass, 'getDataStructureIdentifierPreProcess')) {
|
|
$dataStructureIdentifier = $hookInstance->getDataStructureIdentifierPreProcess(
|
|
$fieldTca,
|
|
$tableName,
|
|
at TYPO3\CMS\Core\Configuration\FlexForm\FlexFormTools->getDataStructureIdentifier()
|
|
in /var/www/site-uol11/htdocs/typo3/sysext/core/Classes/Configuration/FlexForm/FlexFormTools.php line 785
|
|
// ok in certain scenarios, for instance on new record rows. Those are ok to "eat" here
|
|
// and substitute with a dummy DS.
|
|
$dataStructureArray = ['sheets' => ['sDEF' => []]];
|
|
try {
|
|
$dataStructureIdentifier = $this->getDataStructureIdentifier($GLOBALS['TCA'][$table]['columns'][$field], $table, $field, $row);
|
|
$dataStructureArray = $this->parseDataStructureByIdentifier($dataStructureIdentifier);
|
|
} catch (InvalidParentRowException|InvalidParentRowLoopException|InvalidParentRowRootException|InvalidPointerFieldValueException|InvalidIdentifierException $e) {
|
|
}
|
|
|
|
at TYPO3\CMS\Core\Configuration\FlexForm\FlexFormTools->traverseFlexFormXMLData()
|
|
in /var/www/site-uol11/htdocs/typo3/sysext/core/Classes/Configuration/FlexForm/FlexFormTools.php line 913
|
|
$this->cleanFlexFormXML = [];
|
|
// Create and call iterator object:
|
|
$flexObj = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Configuration\FlexForm\FlexFormTools::class);
|
|
$flexObj->reNumberIndexesOfSectionData = true;
|
|
$flexObj->traverseFlexFormXMLData($table, $field, $row, $this, 'cleanFlexFormXML_callBackFunction');
|
|
return $this->flexArray2Xml($this->cleanFlexFormXML, true);
|
|
}
|
|
|
|
/**
|
|
at TYPO3\CMS\Core\Configuration\FlexForm\FlexFormTools->cleanFlexFormXML()
|
|
in /var/www/site-uol11/htdocs/typo3conf/ext/studipol/Classes/Upgrade/FlexFormPersonOptimizationV3UpgradeWizard.php line 150
|
|
* explicitly want to clean up the FlexForm
|
|
*/
|
|
|
|
// cleanup FlexForm
|
|
$xml = $this->flexformTools->cleanFlexFormXML('tt_content', 'pi_flexform', $row);
|
|
$xmlArray = $this->flexformTools->cleanFlexFormXML;
|
|
|
|
// result has a different format !!!
|
|
// $xmlArray = $this->flexformService->convertFlexFormContentToArray($row['pi_flexform']);
|
|
at Uniol\Studipol\Upgrade\FlexFormPersonOptimizationV3UpgradeWizard->executeUpdate()
|
|
in /var/www/site-uol11/htdocs/typo3/sysext/install/Classes/Service/UpgradeWizardsService.php line 400
|
|
$performResult = true;
|
|
}
|
|
} else {
|
|
// confirmation yes or non-confirmable
|
|
$performResult = $updateObject->executeUpdate();
|