[BUGFIX] Encoding error in TCEforms inline JavaScript
authorManuel Stofer <mst@rtp.ch>
Wed, 1 Feb 2012 09:17:02 +0000 (10:17 +0100)
committerSteffen Gebert <steffen.gebert@typo3.org>
Fri, 3 Feb 2012 18:47:49 +0000 (19:47 +0100)
JavaScript encoding is broken, when the link browser is used to add a
new item and sections are used.

Change-Id: Id366d078841a3decd0256f98df497956a494ecb8
Fixes: #32422
Related: #29067
Releases: 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/8792
Reviewed-by: Simon Tuck
Tested-by: Simon Tuck
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Steffen Gebert
Tested-by: Steffen Gebert
t3lib/class.t3lib_tceforms.php

index efa7852..d62bd9e 100644 (file)
@@ -2760,7 +2760,7 @@ class t3lib_TCEforms {
                                                                $replace .= '.replace(/(tceforms-(datetime|date)field-)/g,"$1" + (new Date()).getTime())';
                                                                $onClickInsert = 'var ' . $var . ' = "' . 'idx"+(new Date()).getTime();';
                                                                        // Do not replace $isTagPrefix in setActionStatus() because it needs section id!
-                                                               $onClickInsert .= 'new Insertion.Bottom($("' . $idTagPrefix . '"), unescape(decodeURIComponent("' . rawurlencode($newElementTemplate) . '")).' . $replace . '); setActionStatus("' . $idTagPrefix . '");';
+                                                               $onClickInsert .= 'new Insertion.Bottom($("' . $idTagPrefix . '"), ' . json_encode($newElementTemplate) . '.' . $replace . '); setActionStatus("' . $idTagPrefix . '");';
                                                                $onClickInsert .= 'eval(unescape("' . rawurlencode(implode(';', $this->additionalJS_post)) . '").' . $replace . ');';
                                                                $onClickInsert .= 'TBE_EDITOR.addActionChecks("submit", unescape("' . rawurlencode(implode(';', $this->additionalJS_submit)) . '").' . $replace . ');';
                                                                $onClickInsert .= 'TYPO3.TCEFORMS.update();';