From 3ab68ba3f365f7c3d46411c94dd043f194f3c3b1 Mon Sep 17 00:00:00 2001 From: Christian Kuhn <lolli@schwarzbu.ch> Date: Wed, 22 Mar 2017 17:53:09 +0100 Subject: [PATCH] [BUGFIX] LocalizationStateSelector with new records The LocalizationStateSelector field wizard on new, not yet persisted records casts the ['databaseRow']['uid'] to integer which leads to 0 if the uid is 'NEW1234...'. Example (wrong) field name in formEngine: data[pages_language_overlay][0][l10n_state][subtitle] Should: data[pages_language_overlay][NEW1234][l10n_state][subtitle] Thus, field wizards values different from default are not stored. The patch changes the int cast to an htmlspecialchars() to transfer correct record uid for new records, too. Change-Id: Ic77bf1c1e5fc0ebfcf8837bf6848ab1a201852a4 Resolves: #80405 Releases: master Reviewed-on: https://review.typo3.org/52127 Reviewed-by: Jan Helke <typo3@helke.de> Tested-by: Jan Helke <typo3@helke.de> Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Tested-by: Wouter Wolters <typo3@wouterwolters.nl> --- .../Classes/Form/FieldWizard/LocalizationStateSelector.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/typo3/sysext/backend/Classes/Form/FieldWizard/LocalizationStateSelector.php b/typo3/sysext/backend/Classes/Form/FieldWizard/LocalizationStateSelector.php index 8dd0f62c31bf..0f3f52580480 100644 --- a/typo3/sysext/backend/Classes/Form/FieldWizard/LocalizationStateSelector.php +++ b/typo3/sysext/backend/Classes/Form/FieldWizard/LocalizationStateSelector.php @@ -75,7 +75,7 @@ class LocalizationStateSelector extends AbstractNode ); $fieldElementName = 'data[' . htmlspecialchars($this->data['tableName']) . ']' - . '[' . (int)($this->data['databaseRow']['uid']) . ']' + . '[' . htmlspecialchars((string)$this->data['databaseRow']['uid']) . ']' . '[' . htmlspecialchars($l10nStateFieldName) . ']' . '[' . htmlspecialchars($this->data['fieldName']) . ']'; -- GitLab