/** * Processes the INTinclude-scripts * * @return void */ public function INTincScript() { // Deprecated stuff: // @deprecated: annotation added TYPO3 4.6 $this->additionalHeaderData = is_array($this->config['INTincScript_ext']['additionalHeaderData']) ? $this->config['INTincScript_ext']['additionalHeaderData'] : array(); $this->additionalFooterData = is_array($this->config['INTincScript_ext']['additionalFooterData']) ? $this->config['INTincScript_ext']['additionalFooterData'] : array(); $this->additionalJavaScript = $this->config['INTincScript_ext']['additionalJavaScript']; $this->additionalCSS = $this->config['INTincScript_ext']['additionalCSS']; $this->divSection = ''; if (empty($this->config['INTincScript_ext']['pageRenderer'])) { $this->initPageRenderer(); } else { /** @var PageRenderer $pageRenderer */ $pageRenderer = unserialize($this->config['INTincScript_ext']['pageRenderer']); $this->pageRenderer = $pageRenderer; GeneralUtility::setSingletonInstance(PageRenderer::class, $pageRenderer); } $this->recursivelyReplaceIntPlaceholdersInContent(); $this->getTimeTracker()->push('Substitute header section'); $this->INTincScript_loadJSCode(); $this->regeneratePageTitle(); $this->content = str_replace(array('<!--HD_' . $this->config['INTincScript_ext']['divKey'] . '-->', '<!--FD_' . $this->config['INTincScript_ext']['divKey'] . '-->', '<!--TDS_' . $this->config['INTincScript_ext']['divKey'] . '-->'), array($this->convOutputCharset(implode(LF, $this->additionalHeaderData), 'HD'), $this->convOutputCharset(implode(LF, $this->additionalFooterData), 'FD'), $this->convOutputCharset($this->divSection, 'TDS')), $this->pageRenderer->renderJavaScriptAndCssForProcessingOfUncachedContentObjects($this->content, $this->config['INTincScript_ext']['divKey'])); // Replace again, because header and footer data and page renderer replacements may introduce additional placeholders (see #44825) $this->recursivelyReplaceIntPlaceholdersInContent(); $this->setAbsRefPrefix(); $this->getTimeTracker()->pull(); }