[BUGFIX] Suggest wizard does not work on new records 12/44412/5
authorThomas Maroschik <tmaroschik@dfau.de>
Fri, 30 Oct 2015 15:33:38 +0000 (16:33 +0100)
committerMorton Jonuschat <m.jonuschat@mojocode.de>
Sat, 31 Oct 2015 13:14:26 +0000 (14:14 +0100)
The suggest wizard gets it's parameters via a POST json
body. Inside there is the current record uid given,
which follows the scheme "NEW{random number}". For whatever
reason the wizard casts this uid to an integer which results
in a 0. The following check for a numeric uid fails in the
case of a new record, as it is always numeric because of the
cast.

This patch removes the cast. No further sanitizing is necessary
as the uid is casted in every further use case where appropriate.

Resolves: #71056
Releases: master

Change-Id: I1f20fbc32ab406e69596ad8bf7a1e65231b9f1d6
Reviewed-on: https://review.typo3.org/44412
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Gernot Schulmeister <gernotschulmeister@gmx.at>
Tested-by: Gernot Schulmeister <gernotschulmeister@gmx.at>
Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de>
typo3/sysext/backend/Classes/Form/Wizard/SuggestWizard.php

index d098f71..9379df3 100644 (file)
@@ -142,7 +142,7 @@ class SuggestWizard
         $search = isset($parsedBody['value']) ? $parsedBody['value'] : $queryParams['value'];
         $table = isset($parsedBody['table']) ? $parsedBody['table'] : $queryParams['table'];
         $field = isset($parsedBody['field']) ? $parsedBody['field'] : $queryParams['field'];
-        $uid = (int)(isset($parsedBody['uid']) ? $parsedBody['uid'] : $queryParams['uid']);
+        $uid = isset($parsedBody['uid']) ? $parsedBody['uid'] : $queryParams['uid'];
         $pageId = (int)(isset($parsedBody['pid']) ? $parsedBody['pid'] : $queryParams['pid']);
         $newRecordRow = isset($parsedBody['newRecordRow']) ? $parsedBody['newRecordRow'] : $queryParams['newRecordRow'];
         // If the $uid is numeric, we have an already existing element, so get the