/**
  * 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;
 }
Example #3
0
 /**
  * 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;
 }