2 namespace TYPO3\CMS\Viewpage\Controller;
49 parent::initializeView($view);
58 $buttonBar = $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar();
59 $showButton = $buttonBar->makeLinkButton()
60 ->setHref($this->getTargetUrl())
61 ->setOnClick(
'window.open(this.href, \'newTYPO3frontendWindow\').focus();return false;')
62 ->setTitle($this->
getLanguageService()->sL(
'LLL:EXT:lang/locallang_core.xlf:labels.showPage',
true))
63 ->setIcon($this->view->getModuleTemplate()->getIconFactory()->getIcon(
'actions-document-view',
Icon::SIZE_SMALL));
64 $buttonBar->addButton($showButton);
66 $refreshButton = $buttonBar->makeLinkButton()
67 ->setHref(
'javascript:document.getElementById(\'tx_viewpage_iframe\').contentWindow.location.reload(true);')
68 ->setTitle($this->
getLanguageService()->sL(
'LLL:EXT:viewpage/Resources/Private/Language/locallang.xlf:refreshPage'))
69 ->setIcon($this->view->getModuleTemplate()->getIconFactory()->getIcon(
'actions-refresh',
Icon::SIZE_SMALL));
73 $moduleName = $currentRequest->getPluginName();
74 $getVars = $this->request->getArguments();
76 if (count($getVars) === 0) {
77 $modulePrefix = strtolower(
'tx_' .
$extensionName .
'_' . $moduleName);
78 $getVars = array(
'id',
'M', $modulePrefix);
80 $shortcutButton = $buttonBar->makeShortcutButton()
81 ->setModuleName($moduleName)
82 ->setGetVariables($getVars);
93 $this->
getLanguageService()->includeLLFile(
'EXT:viewpage/Resources/Private/Language/locallang.xlf');
95 $pageRenderer->addInlineLanguageLabelFile(
'EXT:viewpage/Resources/Private/Language/locallang.xlf');
106 $this->view->assign(
'url', $this->getTargetUrl());
115 protected function getTargetUrl()
119 $permissionClause = $this->
getBackendUser()->getPagePermsClause(1);
121 $this->view->getModuleTemplate()->getDocHeaderComponent()->setMetaInformation($pageRecord);
129 $sysPage->init(
false);
130 $mountPointMpParameter =
'';
131 $finalPageIdToShow = $pageIdToShow;
132 $mountPointInformation = $sysPage->getMountPointInfo($pageIdToShow);
133 if ($mountPointInformation && $mountPointInformation[
'overlay']) {
135 $finalPageIdToShow = $mountPointInformation[
'mount_pid'];
136 $mountPointMpParameter =
'&MP=' . $mountPointInformation[
'MPvar'];
139 $protocolAndHost =
'..';
142 if (strpos($domainName,
'://') !==
false) {
143 $protocolAndHost = $domainName;
146 $page = (array)$sysPage->getPage($finalPageIdToShow);
150 $protocolAndHost = $protocol .
'://' . $domainName;
153 return $protocolAndHost .
'/index.php?id=' . $finalPageIdToShow . $this->
getTypeParameterIfSet($finalPageIdToShow) . $mountPointMpParameter . $adminCommand . $languageParameter;
167 if (is_array($pageinfo)) {
168 $addCommand =
'&ADMCMD_editIcons=1' . BackendUtility::ADMCMD_previewCmds($pageinfo);
185 $typeId = (int)$modTSconfig[
'properties'][
'type'];
187 $typeParameter =
'&type=' . $typeId;
189 return $typeParameter;
201 if ($previewDomainConfig[
'value']) {
202 $domain = $previewDomainConfig[
'value'];
221 if (is_array($modTSconfig[
'properties'][
'previewFrameWidths.'])) {
222 foreach ($modTSconfig[
'properties'][
'previewFrameWidths.'] as $item => $conf) {
225 $width = substr($item, 0, -1);
226 $data = array(
'width' => $width);
227 $label .= $width .
'px ';
230 if (isset($conf[
'height'])) {
231 $label .=
' × ' . $conf[
'height'] .
'px ';
232 $data[
'height'] = $conf[
'height'];
235 if (substr($conf[
'label'], 0, 4) !==
'LLL:') {
236 $label .= $conf[
'label'];
240 $value = ($data[
'width'] ?:
'100%') .
'|' . ($data[
'height'] ?:
'100%');
241 $widths[$value] = $label;
256 if ($modSharedTSconfig[
'properties'][
'view.'][
'disableLanguageSelector'] ===
'1') {
260 0 => isset($modSharedTSconfig[
'properties'][
'defaultLanguageLabel'])
261 ? $modSharedTSconfig[
'properties'][
'defaultLanguageLabel'] .
' (' . $this->
getLanguageService()->sL(
'LLL:EXT:lang/locallang_mod_web_list.xlf:defaultLanguage') .
')'
262 : $this->
getLanguageService()->sL(
'LLL:EXT:lang/locallang_mod_web_list.xlf:defaultLanguage')
264 $excludeHidden = $this->
getBackendUser()->isAdmin() ?
'' :
' AND sys_language.hidden=0';
267 'pages_language_overlay JOIN sys_language ON pages_language_overlay.sys_language_uid = sys_language.uid',
269 'pages_language_overlay.sys_language_uid, sys_language.uid, sys_language.pid, sys_language.tstamp, sys_language.hidden, sys_language.title, sys_language.static_lang_isocode, sys_language.flag',
273 foreach ($rows as $row) {
275 $languages[$row[
'uid']] = $row[
'title'];
289 $states = $this->
getBackendUser()->uc[
'moduleData'][
'web_view'][
'States'];
291 $languageParameter =
'';
292 if (isset($states[
'languageSelectorValue']) && isset($languages[$states[
'languageSelectorValue']])) {
293 $languageParameter =
'&L=' . (int)$states[
'languageSelectorValue'];
295 return $languageParameter;