[BUGFIX] Inserting custom element in RTE throws exception 21/30221/2
authorStanislas Rolland <typo3@sjbr.ca>
Tue, 20 May 2014 00:15:50 +0000 (20:15 -0400)
committerStanislas Rolland <typo3@sjbr.ca>
Fri, 23 May 2014 13:42:34 +0000 (15:42 +0200)
Problem: Token validation fails.
Solution: Use BackendUtility::getModuleUrl to ensure validity of token.

Resolves: #58371
Releases: 6.2
Change-Id: I334826dbeb2a11a6b28d4fd610670fe4d7558e1a
Reviewed-on: https://review.typo3.org/30221
Tested-by: Chris Müller
Reviewed-by: Stanislas Rolland
Tested-by: Stanislas Rolland
typo3/sysext/rtehtmlarea/Classes/User.php

index f33919c..e14ef10 100644 (file)
@@ -1,8 +1,5 @@
 <?php
 namespace TYPO3\CMS\Rtehtmlarea;
-
-use TYPO3\CMS\Core\Utility\GeneralUtility;
-
 /***************************************************************
  *  Copyright notice
  *
@@ -29,6 +26,10 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  *
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
+
+use TYPO3\CMS\Backend\Utility\BackendUtility;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+
 /**
  * User defined content for htmlArea RTE
  *
@@ -118,7 +119,7 @@ class User {
                        function jumpToUrl(URL) {
                                var RTEtsConfigParams = "&RTEtsConfigParams=' . rawurlencode(\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('RTEtsConfigParams')) . '";
                                var editorNo = "&editorNo=' . rawurlencode($this->editorNo) . '";
-                               theLocation = "' . \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('SCRIPT_NAME') . '"+URL+RTEtsConfigParams+editorNo;
+                               theLocation = URL+RTEtsConfigParams+editorNo;
                                window.location.href = theLocation;
                        }
                ';
@@ -293,7 +294,7 @@ class User {
                                } else {
                                        $title = $GLOBALS['LANG']->sL($title, TRUE);
                                }
-                               $lines[] = '<tr><td colspan="3" class="bgColor5"><a href="#" title="' . $GLOBALS['LANG']->getLL('expand', TRUE) . '" onClick="jumpToUrl(' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue('?OC_key=' . ($openKeys[$openK] ? 'C|' : 'O|') . $openK) . ');return false;"><img' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], ('gfx/ol/' . ($openKeys[$openK] ? 'minus' : 'plus') . 'bullet.gif'), 'width="18" height="16"') . ' title="' . $GLOBALS['LANG']->getLL('expand', TRUE) . '" /><strong>' . $title . '</strong></a></td></tr>';
+                               $lines[] = '<tr><td colspan="3" class="bgColor5"><a href="#" title="' . $GLOBALS['LANG']->getLL('expand', TRUE) . '" onClick="jumpToUrl(' . GeneralUtility::quoteJSvalue(BackendUtility::getModuleUrl('rtehtmlarea_wizard_user', array('OC_key' => ($openKeys[$openK] ? 'C|' : 'O|') . $openK))) . ');return false;"><img' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], ('gfx/ol/' . ($openKeys[$openK] ? 'minus' : 'plus') . 'bullet.gif'), 'width="18" height="16"') . ' title="' . $GLOBALS['LANG']->getLL('expand', TRUE) . '" /><strong>' . $title . '</strong></a></td></tr>';
                                $lines[] = $v;
                        }
                        $content .= '<table border="0" cellpadding="1" cellspacing="1">' . implode('', $lines) . '</table>';