[TASK] Use GeneralUtility::quoteJSvalue() where needed part 3 34/40334/5
authorWouter Wolters <typo3@wouterwolters.nl>
Wed, 17 Jun 2015 07:57:56 +0000 (09:57 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Tue, 23 Jun 2015 20:34:18 +0000 (22:34 +0200)
Resolves: #67535
Releases: master
Change-Id: If07f5e8b5ec0850941985f11cbd326a03f9d1ad2
Reviewed-on: http://review.typo3.org/40334
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Nicole Cordes <typo3@cordes.co>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php
typo3/sysext/frontend/Classes/ContentObject/Menu/AbstractMenuContentObject.php
typo3/sysext/frontend/Classes/ContentObject/Menu/GraphicalMenuContentObject.php
typo3/sysext/frontend/Classes/ContentObject/Menu/JavaScriptMenuContentObject.php
typo3/sysext/frontend/Classes/Controller/TranslationStatusController.php
typo3/sysext/frontend/Classes/Plugin/AbstractPlugin.php
typo3/sysext/frontend/Classes/View/AdminPanelView.php

index 0302782..2a46d25 100644 (file)
@@ -1730,7 +1730,13 @@ class ContentObjectRenderer {
                                        $JSwindowExpand = isset($conf['JSwindow.']['expand.']) ? $this->stdWrap($conf['JSwindow.']['expand'], $conf['JSwindow.']['expand.']) : $conf['JSwindow.']['expand'];
                                        $offset = GeneralUtility::intExplode(',', $JSwindowExpand . ',');
                                        $newWindow = isset($conf['JSwindow.']['newWindow.']) ? $this->stdWrap($conf['JSwindow.']['newWindow'], $conf['JSwindow.']['newWindow.']) : $conf['JSwindow.']['newWindow'];
-                                       $a1 = '<a href="' . htmlspecialchars($url) . '" onclick="' . htmlspecialchars(('openPic(\'' . $GLOBALS['TSFE']->baseUrlWrap($url) . '\',\'' . ($newWindow ? md5($url) : 'thePicture') . '\',\'width=' . ($processedFile->getProperty('width') + $offset[0]) . ',height=' . ($processedFile->getProperty('height') + $offset[1]) . ',status=0,menubar=0\'); return false;')) . '"' . $target . $GLOBALS['TSFE']->ATagParams . '>';
+                                       $onClick = 'openPic('
+                                               . GeneralUtility::quoteJSvalue($GLOBALS['TSFE']->baseUrlWrap($url)) . ','
+                                               . '\'' . ($newWindow ? md5($url) : 'thePicture') . '\','
+                                               . GeneralUtility::quoteJSvalue('width=' . ($processedFile->getProperty('width') + $offset[0])
+                                                       . ',height=' . ($processedFile->getProperty('height') + $offset[1]) . ',status=0,menubar=0')
+                                               . '); return false;';
+                                       $a1 = '<a href="' . htmlspecialchars($url) . '" onclick="' . htmlspecialchars($onClick) . '"' . $target . $GLOBALS['TSFE']->ATagParams . '>';
                                        $a2 = '</a>';
                                        $GLOBALS['TSFE']->setJS('openPic');
                                } else {
@@ -6762,7 +6768,7 @@ class ContentObjectRenderer {
                                if ($GLOBALS['TSFE']->spamProtectEmailAddresses === 'ascii') {
                                        $mailToUrl = $GLOBALS['TSFE']->encryptEmail($mailToUrl);
                                } else {
-                                       $mailToUrl = 'javascript:linkTo_UnCryptMailto(\'' . $GLOBALS['TSFE']->encryptEmail($mailToUrl) . '\');';
+                                       $mailToUrl = 'javascript:linkTo_UnCryptMailto(' . GeneralUtility::quoteJSvalue($GLOBALS['TSFE']->encryptEmail($mailToUrl)) . ');';
                                }
                                if ($GLOBALS['TSFE']->config['config']['spamProtectEmailAddresses_atSubst']) {
                                        $atLabel = trim($GLOBALS['TSFE']->config['config']['spamProtectEmailAddresses_atSubst']);
index 2d4e5fc..7aca624 100644 (file)
@@ -1594,7 +1594,10 @@ abstract class AbstractMenuContentObject {
                        $conf = $this->mconf['JSWindow.'];
                        $url = $LD['totalURL'];
                        $LD['totalURL'] = '#';
-                       $onClick = 'openPic(\'' . $tsfe->baseUrlWrap($url) . '\',\'' . ($conf['newWindow'] ? md5($url) : 'theNewPage') . '\',\'' . $conf['params'] . '\'); return false;';
+                       $onClick = 'openPic('
+                               . GeneralUtility::quoteJSvalue($tsfe->baseUrlWrap($url)) . ','
+                               . '\'' . ($conf['newWindow'] ? md5($url) : 'theNewPage') . '\','
+                               . GeneralUtility::quoteJSvalue($conf['params']) . '); return false;';
                        $tsfe->setJS('openPic');
                }
                // look for type and popup
@@ -1616,7 +1619,7 @@ abstract class AbstractMenuContentObject {
                                $JSparamWH = 'width=' . $matches[3] . ',height=' . $matches[4] . ($matches[5] ? ',' . substr($matches[5], 1) : '');
                                $onClick = 'vHWin=window.open('
                                        . GeneralUtility::quoteJSvalue($tsfe->baseUrlWrap($LD['totalURL']))
-                                       . ',\'FEopenLink\',\'' . $JSparamWH . '\');vHWin.focus();return false;';
+                                       . ',\'FEopenLink\',' . GeneralUtility::quoteJSvalue($JSparamWH) . ');vHWin.focus();return false;';
                                $LD['target'] = '';
                        }
                }
index 9fe7e17..5e35500 100644 (file)
@@ -417,10 +417,10 @@ class GraphicalMenuContentObject extends AbstractMenuContentObject {
                                if ($this->result['RO'][$key] && !$this->I['noLink']) {
                                        $this->I['theName'] = $this->imgNamePrefix . $this->I['uid'] . $this->I['INPfix'];
                                        $this->I['name'] = ' ' . $this->nameAttribute . '="' . $this->I['theName'] . '"';
-                                       $this->I['linkHREF']['onMouseover'] = $this->WMfreezePrefix . 'over(\'' . $this->I['theName'] . '\');';
-                                       $this->I['linkHREF']['onMouseout'] = $this->WMfreezePrefix . 'out(\'' . $this->I['theName'] . '\');';
-                                       $tsfe->additionalJavaScript['JSImgCode'] .= LF . $this->I['theName'] . '_n=new Image(); ' . $this->I['theName'] . '_n.src = "' . $tsfe->absRefPrefix . $this->I['val']['output_file'] . '"; ';
-                                       $tsfe->additionalJavaScript['JSImgCode'] .= LF . $this->I['theName'] . '_h=new Image(); ' . $this->I['theName'] . '_h.src = "' . $tsfe->absRefPrefix . $this->result['RO'][$key]['output_file'] . '"; ';
+                                       $this->I['linkHREF']['onMouseover'] = $this->WMfreezePrefix . 'over(' . GeneralUtility::quoteJSvalue($this->I['theName']) . ');';
+                                       $this->I['linkHREF']['onMouseout'] = $this->WMfreezePrefix . 'out(' . GeneralUtility::quoteJSvalue($this->I['theName']) . ');';
+                                       $tsfe->additionalJavaScript['JSImgCode'] .= LF . $this->I['theName'] . '_n=new Image(); ' . $this->I['theName'] . '_n.src = ' . GeneralUtility::quoteJSvalue($tsfe->absRefPrefix . $this->I['val']['output_file']) . '; ';
+                                       $tsfe->additionalJavaScript['JSImgCode'] .= LF . $this->I['theName'] . '_h=new Image(); ' . $this->I['theName'] . '_h.src = ' . GeneralUtility::quoteJSvalue($tsfe->absRefPrefix . $this->result['RO'][$key]['output_file']) . '; ';
                                        $tsfe->imagesOnPage[] = $this->result['RO'][$key]['output_file'];
                                        $tsfe->setJS('mouseOver');
                                        $this->extProc_RO($key);
index 206100b..21255a7 100644 (file)
@@ -56,7 +56,7 @@ class JavaScriptMenuContentObject extends AbstractMenuContentObject {
                $this->JSVarName = 'eid' . $uniqueParam;
                $this->JSMenuName = $this->mconf['menuName'] ?: 'JSmenu' . $uniqueParam;
                $JScode = '
-var ' . $this->JSMenuName . ' = new JSmenu(' . $levels . ', \'' . $this->JSMenuName . 'Form\');';
+var ' . $this->JSMenuName . ' = new JSmenu(' . $levels . ', ' . GeneralUtility::quoteJSvalue($this->JSMenuName . 'Form') . ');';
                for ($a = 1; $a <= $levels; $a++) {
                        $JScode .= '
 var ' . $this->JSVarName . $a . '=0;';
index 1ed9788..ffafd05 100644 (file)
@@ -195,7 +195,11 @@ class TranslationStatusController extends \TYPO3\CMS\Backend\Module\AbstractFunc
                                                        $status = GeneralUtility::hideIfNotTranslated($data['row']['l18n_cfg']) || $data['row']['l18n_cfg'] & 1 ? 'danger' : '';
                                                        $info = '<input type="checkbox" name="newOL[' . $langRow['uid'] . '][' . $data['row']['uid'] . ']" value="1" />';
                                                        $newOL_js[$langRow['uid']] .= '
-                                                               +(document.webinfoForm[\'newOL[' . $langRow['uid'] . '][' . $data['row']['uid'] . ']\'].checked ? \'&edit[pages_language_overlay][' . $data['row']['uid'] . ']=new\' : \'\')
+                                                               +(document.webinfoForm['
+                                                               . GeneralUtility::quoteJSvalue('newOL[' . $langRow['uid'] . '][' . $data['row']['uid'] . ']')
+                                                               . '].checked ? '
+                                                               . GeneralUtility::quoteJSvalue('&edit[pages_language_overlay][' . $data['row']['uid'] . ']=new')
+                                                               . ' : \'\')
                                                        ';
                                                }
                                                $tCells[] = '<td class="' . $status . ' col-border-left">&nbsp;</td>';
index dbdb34f..5226d6c 100644 (file)
@@ -467,7 +467,11 @@ class AbstractPlugin {
        public function pi_openAtagHrefInJSwindow($str, $winName = '', $winParams = 'width=670,height=500,status=0,menubar=0,scrollbars=1,resizable=1') {
                if (preg_match('/(.*)(<a[^>]*>)(.*)/i', $str, $match)) {
                        $aTagContent = GeneralUtility::get_tag_attributes($match[2]);
-                       $match[2] = '<a href="#" onclick="' . htmlspecialchars(('vHWin=window.open(\'' . $this->frontendController->baseUrlWrap($aTagContent['href']) . '\',\'' . ($winName ? $winName : md5($aTagContent['href'])) . '\',\'' . $winParams . '\');vHWin.focus();return false;')) . '">';
+                       $onClick = 'vHWin=window.open('
+                               . GeneralUtility::quoteJSvalue($this->frontendController->baseUrlWrap($aTagContent['href'])) . ','
+                               . GeneralUtility::quoteJSvalue($winName ?: md5($aTagContent['href'])) . ','
+                               . GeneralUtility::quoteJSvalue($winParams) . ');vHWin.focus();return false;';
+                       $match[2] = '<a href="#" onclick="' . htmlspecialchars($onClick) . '">';
                        $str = $match[1] . $match[2] . $match[3];
                }
                return $str;
index 58df64f..8d66468 100644 (file)
@@ -439,7 +439,7 @@ class AdminPanelView {
                                                        parent.opener.top.goToModule("' . $pageModule . '");
                                                        parent.opener.top.focus();
                                                } else {
-                                                       vHWin=window.open(\'' . TYPO3_mainDir . BackendUtility::getBackendScript() . '\',\'' . md5(('Typo3Backend-' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename'])) . '\',\'status=1,menubar=1,scrollbars=1,resizable=1\');
+                                                       vHWin=window.open(' . GeneralUtility::quoteJSvalue(TYPO3_mainDir . BackendUtility::getBackendScript()) . ',\'' . md5('Typo3Backend-' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename']) . '\',\'status=1,menubar=1,scrollbars=1,resizable=1\');
                                                        vHWin.focus();
                                                }
                                                return false;
@@ -562,7 +562,7 @@ class AdminPanelView {
         * @see extGetHead()
         */
        public function linkSectionHeader($sectionSuffix, $sectionTitle, $className = '') {
-               $onclick = 'document.TSFE_ADMIN_PANEL_FORM[\'TSFE_ADMIN_PANEL[display_' . $sectionSuffix . ']\'].value=' . ($GLOBALS['BE_USER']->uc['TSFE_adminConfig']['display_' . $sectionSuffix] ? '0' : '1') . ';document.TSFE_ADMIN_PANEL_FORM.submit();return false;';
+               $onclick = 'document.TSFE_ADMIN_PANEL_FORM[' . GeneralUtility::quoteJSvalue('TSFE_ADMIN_PANEL[display_' . $sectionSuffix . ']') . '].value=' . ($GLOBALS['BE_USER']->uc['TSFE_adminConfig']['display_' . $sectionSuffix] ? '0' : '1') . ';document.TSFE_ADMIN_PANEL_FORM.submit();return false;';
                $content = '<div class="typo3-adminPanel-label">
                                                <a href="javascript:void(0)" onclick="' . htmlspecialchars($onclick) . '"' . ($className ? ' class="' . htmlspecialchars($className) . '"' : '') . '>'
                        . $sectionTitle .