From 84edee6b1c40971d0f68fc9579ddae6f7927d8fe Mon Sep 17 00:00:00 2001 From: Andreas Fernandez <a.fernandez@scripting-base.de> Date: Thu, 1 Oct 2015 16:07:22 +0200 Subject: [PATCH] [BUGFIX] Cleanup in SelectTreeElement * Remove unnecessary $treeData variable * Fix broken JS in onChange handler * Enforce int casting of $width Resolves: #70272 Releases: master Change-Id: I76b2233a30f6c033839f53404340485f7302f9ca Reviewed-on: http://review.typo3.org/43697 Reviewed-by: Helmut Hummel <helmut.hummel@typo3.org> Tested-by: Andreas Bouche <andreas.bouche@flagbit.de> Reviewed-by: Nicole Cordes <typo3@cordes.co> Tested-by: Nicole Cordes <typo3@cordes.co> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Tested-by: Wouter Wolters <typo3@wouterwolters.nl> --- .../backend/Classes/Form/Element/SelectTreeElement.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/typo3/sysext/backend/Classes/Form/Element/SelectTreeElement.php b/typo3/sysext/backend/Classes/Form/Element/SelectTreeElement.php index 8cbce6be5236..5b5f26dcf4be 100644 --- a/typo3/sysext/backend/Classes/Form/Element/SelectTreeElement.php +++ b/typo3/sysext/backend/Classes/Form/Element/SelectTreeElement.php @@ -98,7 +98,6 @@ class SelectTreeElement extends AbstractFormElement { */ $itemArray[] = $treeData; - $treeData = json_encode($itemArray); $id = md5($parameterArray['itemFormElName']); if (isset($config['size']) && (int)$config['size'] > 0) { $height = (int)$config['size'] * 20; @@ -166,13 +165,13 @@ class SelectTreeElement extends AbstractFormElement { $resultArray = $this->initializeResultArray(); $resultArray['extJSCODE'] .= LF . 'Ext.onReady(function() { - TYPO3.Components.Tree.StandardTreeItemData["' . $id . '"] = ' . $treeData . '; + TYPO3.Components.Tree.StandardTreeItemData["' . $id . '"] = ' . json_encode($itemArray) . '; var tree' . $id . ' = new TYPO3.Components.Tree.StandardTree({ id: "' . $id . '", showHeader: ' . (int)$header . ', - onChange: "' . $onChange . '", + onChange: ' . GeneralUtility::quoteJSvalue($onChange) . ', countSelectedNodes: ' . count($selectedNodes) . ', - width: ' . $width . ', + width: ' . (int)$width . ', listeners: { click: function(node, event) { if (typeof(node.attributes.checked) == "boolean") { -- GitLab