/** * Constructor */ public function __construct() { // Set debug flag for BE development only $this->debug = (int) $GLOBALS['TYPO3_CONF_VARS']['BE']['debug'] === 1; // Initializes the backend modules structure for use later. $this->moduleLoader = GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Module\\ModuleLoader'); $this->moduleLoader->load($GLOBALS['TBE_MODULES']); $this->pageRenderer = $GLOBALS['TBE_TEMPLATE']->getPageRenderer(); $this->pageRenderer->loadScriptaculous('builder,effects,controls,dragdrop'); $this->pageRenderer->loadExtJS(); $this->pageRenderer->loadJquery(NULL, NULL, \TYPO3\CMS\Core\Page\PageRenderer::JQUERY_NAMESPACE_DEFAULT_NOCONFLICT); $this->pageRenderer->enableExtJSQuickTips(); $this->pageRenderer->addJsInlineCode('consoleOverrideWithDebugPanel', '//already done', FALSE); $this->pageRenderer->addExtDirectCode(); // Add default BE javascript $this->js = ''; $this->jsFiles = array('common' => 'sysext/backend/Resources/Public/JavaScript/common.js', 'locallang' => $this->getLocalLangFileName(), 'modernizr' => 'contrib/modernizr/modernizr.min.js', 'md5' => 'sysext/backend/Resources/Public/JavaScript/md5.js', 'toolbarmanager' => 'sysext/backend/Resources/Public/JavaScript/toolbarmanager.js', 'modulemenu' => 'sysext/backend/Resources/Public/JavaScript/modulemenu.js', 'evalfield' => 'sysext/backend/Resources/Public/JavaScript/jsfunc.evalfield.js', 'flashmessages' => 'sysext/backend/Resources/Public/JavaScript/flashmessages.js', 'tabclosemenu' => 'js/extjs/ux/ext.ux.tabclosemenu.js', 'notifications' => 'sysext/backend/Resources/Public/JavaScript/notifications.js', 'backend' => 'sysext/backend/Resources/Public/JavaScript/backend.js', 'loginrefresh' => 'sysext/backend/Resources/Public/JavaScript/loginrefresh.js', 'debugPanel' => 'js/extjs/debugPanel.js', 'viewport' => 'js/extjs/viewport.js', 'iframepanel' => 'sysext/backend/Resources/Public/JavaScript/iframepanel.js', 'backendcontentiframe' => 'js/extjs/backendcontentiframe.js', 'modulepanel' => 'js/extjs/modulepanel.js', 'viewportConfiguration' => 'js/extjs/viewportConfiguration.js', 'util' => 'sysext/backend/Resources/Public/JavaScript/util.js'); if ($this->debug) { unset($this->jsFiles['loginrefresh']); } // Add default BE css $this->pageRenderer->addCssLibrary('contrib/normalize/normalize.css', 'stylesheet', 'all', '', TRUE, TRUE); $this->css = ''; $this->cssFiles = array(); $this->toolbarItems = array(); $this->initializeCoreToolbarItems(); $this->menuWidth = $this->menuWidthDefault; if (isset($GLOBALS['TBE_STYLES']['dims']['leftMenuFrameW']) && (int) $GLOBALS['TBE_STYLES']['dims']['leftMenuFrameW'] != (int) $this->menuWidth) { $this->menuWidth = (int) $GLOBALS['TBE_STYLES']['dims']['leftMenuFrameW']; } $this->executeHook('constructPostProcess'); }
/** * Gets instance of PageRenderer configured with the current language, file references and debug settings * * @return \TYPO3\CMS\Core\Page\PageRenderer */ public function getPageRenderer() { if (!isset($this->pageRenderer)) { $this->pageRenderer = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Page\\PageRenderer'); $this->pageRenderer->setLanguage($GLOBALS['LANG']->lang); $this->pageRenderer->addCssLibrary($GLOBALS['BACK_PATH'] . 'contrib/normalize/normalize.css', 'stylesheet', 'all', '', TRUE, TRUE); $this->pageRenderer->enableConcatenateFiles(); $this->pageRenderer->enableCompressCss(); $this->pageRenderer->enableCompressJavascript(); // Add all JavaScript files defined in $this->jsFiles to the PageRenderer foreach ($this->jsFilesNoConcatenation as $file) { $this->pageRenderer->addJsFile($GLOBALS['BACK_PATH'] . $file, 'text/javascript', TRUE, FALSE, '', TRUE); } // Add all JavaScript files defined in $this->jsFiles to the PageRenderer foreach ($this->jsFiles as $file) { $this->pageRenderer->addJsFile($GLOBALS['BACK_PATH'] . $file); } } if ((int) $GLOBALS['TYPO3_CONF_VARS']['BE']['debug'] === 1) { $this->pageRenderer->enableDebugMode(); } return $this->pageRenderer; }