[FOLLOWUP][BUGFIX] Preview information should not conflict with frontend layout
[Packages/TYPO3.CMS.git] / typo3 / sysext / frontend / Classes / Hooks / FrontendHooks.php
1 <?php
2 namespace TYPO3\CMS\Frontend\Hooks;
3
4 /*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 /**
18 * Uses frontend hooks to show preview informations
19 */
20 class FrontendHooks
21 {
22 /**
23 * Include the preview block in case we're looking at a hidden page
24 * in the LIVE workspace
25 *
26 * @param array $params
27 * @param \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController $pObj
28 * @return string
29 */
30 public function hook_previewInfo($params, $pObj)
31 {
32 if ($pObj->fePreview !== 1) {
33 return '';
34 }
35 if ($pObj->config['config']['message_preview']) {
36 $message = $pObj->config['config']['message_preview'];
37 } else {
38 $styles = [];
39 $styles[] = 'position: fixed';
40 $styles[] = 'top: 15px';
41 $styles[] = 'right: 15px';
42 $styles[] = 'padding: 8px 18px';
43 $styles[] = 'background: #fff3cd';
44 $styles[] = 'border: 1px solid #ffeeba';
45 $styles[] = 'font-family: sans-serif';
46 $styles[] = 'font-size: 14px';
47 $styles[] = 'font-weight: bold';
48 $styles[] = 'color: #856404';
49 $styles[] = 'z-index: 20000';
50 $styles[] = 'user-select: none';
51 $styles[] = 'pointer-events:none';
52 $styles[] = 'text-align: center';
53 $styles[] = 'border-radius: 2px';
54 $message = '<div id="typo3-preview-info" style="' . implode(';', $styles) . '">PREVIEW</div>';
55 }
56 return $message;
57 }
58 }