[BUGFIX] Do not load ContextHelp JS if no BE user is there
[Packages/TYPO3.CMS.git] / typo3 / sysext / cshmanual / Classes / Service / JavaScriptService.php
1 <?php
2 namespace TYPO3\CMS\Cshmanual\Service;
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 use TYPO3\CMS\Backend\Utility\BackendUtility;
17 use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
18 use TYPO3\CMS\Core\Page\PageRenderer;
19 use TYPO3\CMS\Core\Utility\GeneralUtility;
20
21 /**
22 * JavaScript Service adding JS code to each backend page
23 */
24 class JavaScriptService
25 {
26 /**
27 * Include the JS for the Context Sensitive Help
28 *
29 * @param string $title the title of the page
30 * @param \TYPO3\CMS\Backend\Template\DocumentTemplate $documentTemplateObject
31 */
32 public function addJavaScript($title, $documentTemplateObject)
33 {
34 if (TYPO3_MODE !== 'BE') {
35 return;
36 }
37 $beUser = $this->getBeUser();
38 if ($beUser && !empty($beUser->user)) {
39 $pageRenderer = GeneralUtility::makeInstance(PageRenderer::class);
40 $pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/ContextHelp');
41 $pageRenderer->addInlineSetting('ContextHelp', 'moduleUrl', BackendUtility::getModuleUrl('help_CshmanualCshmanual', array(
42 'tx_cshmanual_help_cshmanualcshmanual' => array(
43 'controller' => 'Help',
44 'action' => 'detail'
45 )
46 )));
47 }
48 }
49
50 /**
51 * @return BackendUserAuthentication
52 */
53 protected function getBeUser()
54 {
55 return isset($GLOBALS['BE_USER']) ? $GLOBALS['BE_USER'] : null;
56 }
57 }