[BUGFIX] Prevent spaces in BE shortcut to be replaced by + char 75/31175/3
authorFrans Saris <franssaris@gmail.com>
Fri, 27 Jun 2014 19:49:26 +0000 (21:49 +0200)
committerWouter Wolters <typo3@wouterwolters.nl>
Tue, 1 Jul 2014 20:11:48 +0000 (22:11 +0200)
Due to some changes in Prototype.js the serialized form values
get wrongly escaped with the result that all spaces are replaced
by + chars.

This patch changes the used serialization of the form so the value
is correctly posted.

Resolves: #59950
Releases: 6.3, 6.2
Change-Id: I65d89ab741ae77f5bbef9421923b3878f2295570
Reviewed-on: https://review.typo3.org/31175
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Krzysztof Adamczyk
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
typo3/sysext/backend/Resources/Public/JavaScript/shortcutmenu.js

index 62135eb..62dbb47 100644 (file)
@@ -27,7 +27,7 @@ var ShortcutMenu = Class.create({
                                function() { TYPO3BackendToolbarManager.positionMenu('shortcut-menu'); }
                        );
                        TYPO3BackendToolbarManager.positionMenu('shortcut-menu');
-                       
+
                        this.toolbarItemIcon = $$('#shortcut-menu .toolbar-item span.t3-icon')[0];
 
                        Event.observe($$('#shortcut-menu .toolbar-item')[0], 'click', this.toggleMenu);
@@ -53,9 +53,8 @@ var ShortcutMenu = Class.create({
                                onFormCustomization : this.addGroupSelect,
                                onComplete          : this.reRenderMenu.bind(this),
                                callback            : function(form, nameInputFieldValue) {
-                                       var params = form.serialize();
-                                       params += '&shortcutId=' + shortcutId;
-
+                                       var params = form.serialize(true);
+                                       params.shortcutId = shortcutId;
                                        return params;
                                },
                                textBetweenControls : ' ',