/** * Replace dynamic script tags. * * @see \Contao\Controller::replaceDynamicScriptTags * * @param string $buffer * * @return string * * @SuppressWarnings(PHPMD.Superglobals) */ public function hookReplaceDynamicScriptTags($buffer) { $page = $this->pageProvider->getPage(); if ($page) { // search for the layout $layout = \LayoutModel::findByPk($page->layout); $renderMode = $this->renderModeDeterminer->determineMode(); // the stylesheets buffer $stylesheets = ''; if (RenderMode::PRE_COMPILE == $renderMode) { // pre-compile stylesheets $this->compileStylesheets($page, $layout); } elseif (!$GLOBALS['TL_CONFIG']['theme_plus_disabled_advanced_asset_caching'] && RenderMode::LIVE == $renderMode) { // load cached stylesheets $this->loadStylesheets($page, $layout, $stylesheets); } else { // dynamically parse stylesheets $this->parseStylesheets($renderMode, $page, $layout, $stylesheets); } $GLOBALS['TL_FRAMEWORK_CSS'] = []; $GLOBALS['TL_CSS'] = []; $GLOBALS['TL_USER_CSS'] = []; // replace dynamic scripts return str_replace('[[TL_CSS]]', $stylesheets, $buffer); } return $buffer; }
/** * Replace dynamic script tags. * * @see \Contao\Controller::replaceDynamicScriptTags * * @param string $buffer * * @return string */ public function hookReplaceDynamicScriptTags($buffer) { $page = $this->pageProvider->getPage(); if ($page) { $headScripts = ''; $bodyScripts = ''; // search for the layout $layout = \LayoutModel::findByPk($page->layout); $renderMode = $this->renderModeDeterminer->determineMode(); if (RenderMode::PRE_COMPILE == $renderMode) { // pre-compile javascripts $this->compileJavaScripts($page, $layout); } elseif (!$GLOBALS['TL_CONFIG']['theme_plus_disabled_advanced_asset_caching'] && RenderMode::LIVE == $renderMode) { // load cached javascripts $this->loadJavaScripts($page, $layout, $headScripts, $bodyScripts); } else { // dynamically parse javascripts $this->parseJavaScripts($renderMode, $page, $layout, $headScripts, $bodyScripts); } $GLOBALS['TL_JAVASCRIPT'] = []; // replace dynamic scripts return str_replace(['[[TL_HEAD]]', '[[TL_SCRIPTS]]'], [$headScripts . '[[TL_HEAD]]', $bodyScripts], $buffer); } return $buffer; }
/** * Inject the developer tools in designer mode. * * @see \Contao\Controller::replaceDynamicScriptTags * * @param string $buffer * * @return string */ public function injectDeveloperTools($buffer) { $page = $this->pageProvider->getPage(); if ($page) { $renderMode = $this->renderModeDeterminer->determineMode(); if (RenderMode::DESIGN == $renderMode) { $buffer = $this->developerTool->inject($buffer); } } return $buffer; }