From ccf7dae56adaae36f4c0a103f1c7b3c17af8494a Mon Sep 17 00:00:00 2001 From: Wouter Wolters <typo3@wouterwolters.nl> Date: Sat, 11 Jul 2015 11:58:48 +0200 Subject: [PATCH] [BUGFIX] Double protocol when using TCEMAIN.previewDomain In EXT:viewpage the option TCEMAIN.previewDomain is used but not evaluated correctly. The option can contain the protocol already and this is not respected in EXT:viewpage. Check if domain already contains a protocol. Resolves: #34820 Resolves: #36542 Resolves: #23115 Releases: master, 6.2 Change-Id: I13f7cda1dca54d60d350ba460e43ec924c140d35 Reviewed-on: http://review.typo3.org/41095 Reviewed-by: Helmut Hummel <helmut.hummel@typo3.org> Tested-by: Helmut Hummel <helmut.hummel@typo3.org> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Tested-by: Wouter Wolters <typo3@wouterwolters.nl> --- .../Controller/ViewModuleController.php | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/typo3/sysext/viewpage/Classes/Controller/ViewModuleController.php b/typo3/sysext/viewpage/Classes/Controller/ViewModuleController.php index 42688d9c560e..b2e17a43b9d7 100644 --- a/typo3/sysext/viewpage/Classes/Controller/ViewModuleController.php +++ b/typo3/sysext/viewpage/Classes/Controller/ViewModuleController.php @@ -68,15 +68,19 @@ class ViewModuleController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionContr // Modify relative path to protocol with host if domain record is given $protocolAndHost = '..'; if ($domainName) { - $protocol = 'http'; - $page = (array)$sysPage->getPage($finalPageIdToShow); - if ($page['url_scheme'] == 2 || $page['url_scheme'] == 0 && \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('TYPO3_SSL')) { - $protocol = 'https'; + // TCEMAIN.previewDomain can contain the protocol, check prevents double protocol URLs + if (strpos($domainName, '://') !== FALSE) { + $protocolAndHost = $domainName; + } else { + $protocol = 'http'; + $page = (array)$sysPage->getPage($finalPageIdToShow); + if ($page['url_scheme'] == 2 || $page['url_scheme'] == 0 && \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('TYPO3_SSL')) { + $protocol = 'https'; + } + $protocolAndHost = $protocol . '://' . $domainName; } - $protocolAndHost = $protocol . '://' . $domainName; } - $url = $protocolAndHost . '/index.php?id=' . $finalPageIdToShow . $this->getTypeParameterIfSet($finalPageIdToShow) . $mountPointMpParameter . $adminCommand; - return $url; + return $protocolAndHost . '/index.php?id=' . $finalPageIdToShow . $this->getTypeParameterIfSet($finalPageIdToShow) . $mountPointMpParameter . $adminCommand; } /** -- GitLab