44 if (
$GLOBALS[
'TSFE']->page[
'content_from_pid'] > 0) {
46 $temp_copy_TSFE = clone
$GLOBALS[
'TSFE'];
48 $temp_copy_TSFE->id = $GLOBALS[
'TSFE']->page[
'content_from_pid'];
49 $temp_copy_TSFE->MP =
'';
50 $temp_copy_TSFE->getPageAndRootlineWithDomain($GLOBALS[
'TSFE']->config[
'config'][
'content_from_pid_allowOutsideDomain'] ? 0 : $GLOBALS[
'TSFE']->domainStartPage);
51 $GLOBALS[
'TSFE']->contentPid = (int)$temp_copy_TSFE->id;
52 unset($temp_copy_TSFE);
54 if (
$GLOBALS[
'TSFE']->config[
'config'][
'MP_defaults']) {
56 foreach ($temp_parts as $temp_p) {
57 list($temp_idP, $temp_MPp) = explode(
':', $temp_p, 2);
59 foreach ($temp_ids as $temp_id) {
60 $GLOBALS[
'TSFE']->MP_defaults[$temp_id] = $temp_MPp;
68 if (isset(
$GLOBALS[
'TSFE']->config[
'config'][
'baseURL'])) {
73 $GLOBALS[
'TSFE']->intTarget =
'' .
$GLOBALS[
'TSFE']->config[
'config'][
'intTarget'];
74 $GLOBALS[
'TSFE']->extTarget =
'' .
$GLOBALS[
'TSFE']->config[
'config'][
'extTarget'];
75 $GLOBALS[
'TSFE']->fileTarget =
'' .
$GLOBALS[
'TSFE']->config[
'config'][
'fileTarget'];
76 if (
$GLOBALS[
'TSFE']->config[
'config'][
'spamProtectEmailAddresses'] ===
'ascii') {
77 $GLOBALS[
'TSFE']->spamProtectEmailAddresses =
'ascii';
81 $GLOBALS[
'TSFE']->absRefPrefix =
$GLOBALS[
'TSFE']->config[
'config'][
'absRefPrefix'] ? trim(
$GLOBALS[
'TSFE']->config[
'config'][
'absRefPrefix']) :
'';
82 if (
$GLOBALS[
'TSFE']->type &&
$GLOBALS[
'TSFE']->config[
'config'][
'frameReloadIfNotInFrameset']) {
84 $GLOBALS[
'TSFE']->additionalJavaScript[
'JSCode'] .=
'if(!parent.' . trim(
$GLOBALS[
'TSFE']->sPre) .
' && !parent.view_frame) top.location.href="' .
$GLOBALS[
'TSFE']->baseUrlWrap($tdlLD[
'totalURL']) .
'"';
86 $GLOBALS[
'TSFE']->compensateFieldWidth =
'' .
$GLOBALS[
'TSFE']->config[
'config'][
'compensateFieldWidth'];
87 $GLOBALS[
'TSFE']->lockFilePath =
'' .
$GLOBALS[
'TSFE']->config[
'config'][
'lockFilePath'];
88 $GLOBALS[
'TSFE']->lockFilePath =
$GLOBALS[
'TSFE']->lockFilePath ?:
$GLOBALS[
'TYPO3_CONF_VARS'][
'BE'][
'fileadminDir'];
89 $GLOBALS[
'TYPO3_CONF_VARS'][
'GFX'][
'im_noScaleUp'] = isset(
$GLOBALS[
'TSFE']->config[
'config'][
'noScaleUp']) ?
'' .
$GLOBALS[
'TSFE']->config[
'config'][
'noScaleUp'] :
$GLOBALS[
'TYPO3_CONF_VARS'][
'GFX'][
'im_noScaleUp'];
90 $GLOBALS[
'TSFE']->TYPO3_CONF_VARS[
'GFX'][
'im_noScaleUp'] =
$GLOBALS[
'TYPO3_CONF_VARS'][
'GFX'][
'im_noScaleUp'];
91 $GLOBALS[
'TSFE']->ATagParams = trim(
$GLOBALS[
'TSFE']->config[
'config'][
'ATagParams']) ?
' ' . trim(
$GLOBALS[
'TSFE']->config[
'config'][
'ATagParams']) :
'';
92 if (
$GLOBALS[
'TSFE']->config[
'config'][
'setJS_mouseOver']) {
93 $GLOBALS[
'TSFE']->setJS(
'mouseOver');
95 if (
$GLOBALS[
'TSFE']->config[
'config'][
'setJS_openPic']) {
98 static::initializeSearchWordDataInTsfe();
100 $GLOBALS[
'TSFE']->calculateLinkVars();
102 $GLOBALS[
'TSFE']->dtdAllowsFrames = FALSE;
103 if (
$GLOBALS[
'TSFE']->config[
'config'][
'doctype']) {
105 (
string)
$GLOBALS[
'TSFE']->config[
'config'][
'doctype'],
106 array(
'xhtml_trans',
'xhtml_frames',
'xhtml_basic',
'xhtml_2',
'html5'),
109 $GLOBALS[
'TSFE']->dtdAllowsFrames = TRUE;
112 $GLOBALS[
'TSFE']->dtdAllowsFrames = TRUE;
115 if (!
$GLOBALS[
'TSFE']->config[
'config'][
'xhtmlDoctype']) {
116 $GLOBALS[
'TSFE']->config[
'config'][
'xhtmlDoctype'] =
$GLOBALS[
'TSFE']->config[
'config'][
'doctype'];
118 if (
$GLOBALS[
'TSFE']->config[
'config'][
'xhtmlDoctype']) {
119 $GLOBALS[
'TSFE']->xhtmlDoctype =
$GLOBALS[
'TSFE']->config[
'config'][
'xhtmlDoctype'];
121 switch ((
string)
$GLOBALS[
'TSFE']->config[
'config'][
'xhtmlDoctype']) {
127 $GLOBALS[
'TSFE']->xhtmlVersion = 100;
130 $GLOBALS[
'TSFE']->xhtmlVersion = 105;
134 case 'xhtml+rdfa_10':
135 $GLOBALS[
'TSFE']->xhtmlVersion = 110;
138 $GLOBALS[
'TSFE']->xhtmlVersion = 200;
141 $GLOBALS[
'TSFE']->getPageRenderer()->setRenderXhtml(FALSE);
142 $GLOBALS[
'TSFE']->xhtmlDoctype =
'';
146 $GLOBALS[
'TSFE']->getPageRenderer()->setRenderXhtml(FALSE);
156 $incFilesArray = array();
158 $includeLibrary = trim(
'' .
$GLOBALS[
'TSFE']->config[
'config'][
'includeLibrary']);
159 if ($includeLibrary) {
160 $incFile =
$GLOBALS[
'TSFE']->tmpl->getFileName($includeLibrary);
162 $incFilesArray[] = $incFile;
165 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'includeLibs.'])) {
166 $incLibs =
$GLOBALS[
'TSFE']->pSetup[
'includeLibs.'];
170 if (is_array(
$GLOBALS[
'TSFE']->tmpl->setup[
'includeLibs.'])) {
172 $incLibs +=
$GLOBALS[
'TSFE']->tmpl->setup[
'includeLibs.'];
174 if (count($incLibs)) {
175 foreach ($incLibs as $theLib) {
176 if (!is_array($theLib) && ($incFile =
$GLOBALS[
'TSFE']->tmpl->getFileName($theLib))) {
177 $incFilesArray[] = $incFile;
181 return $incFilesArray;
190 $functions = array();
191 $setEvents = array();
193 foreach (
$GLOBALS[
'TSFE']->JSeventFuncCalls as $event => $handlers) {
194 if (count($handlers)) {
195 $functions[] =
' function T3_' . $event .
'Wrapper(e) { ' . implode(
' ', $handlers) .
' }';
196 $setEvents[] =
' document.' . $event .
'=T3_' . $event .
'Wrapper;';
197 if ($event ==
'onload') {
199 $setBody[] =
'onload="T3_onloadWrapper();"';
203 return array(count($functions) ? implode(LF, $functions) . LF . implode(LF, $setEvents) :
'', $setBody);
216 if (
$GLOBALS[
'TSFE']->pSetup[
'wrap']) {
217 $pageContent =
$GLOBALS[
'TSFE']->cObj->wrap($pageContent,
$GLOBALS[
'TSFE']->pSetup[
'wrap']);
219 if (
$GLOBALS[
'TSFE']->pSetup[
'stdWrap.']) {
220 $pageContent =
$GLOBALS[
'TSFE']->cObj->stdWrap($pageContent,
$GLOBALS[
'TSFE']->pSetup[
'stdWrap.']);
224 if (
$GLOBALS[
'TSFE']->config[
'config'][
'disableAllHeaderCode']) {
225 $GLOBALS[
'TSFE']->content = $pageContent;
227 self::renderContentWithHeader($pageContent);
239 static public function renderContentWithHeader($pageContent) {
241 $pageRenderer =
$GLOBALS[
'TSFE']->getPageRenderer();
242 if (
$GLOBALS[
'TSFE']->config[
'config'][
'moveJsFromHeaderToFooter']) {
243 $pageRenderer->enableMoveJsFromHeaderToFooter();
245 if (
$GLOBALS[
'TSFE']->config[
'config'][
'pageRendererTemplateFile']) {
246 $file =
$GLOBALS[
'TSFE']->tmpl->getFileName(
$GLOBALS[
'TSFE']->config[
'config'][
'pageRendererTemplateFile']);
248 $pageRenderer->setTemplateFile($file);
251 $headerComment =
$GLOBALS[
'TSFE']->config[
'config'][
'headerComment'];
252 if (trim($headerComment)) {
253 $pageRenderer->addInlineComment(TAB . str_replace(LF, (LF . TAB), trim($headerComment)) . LF);
256 $theCharset =
$GLOBALS[
'TSFE']->metaCharset;
259 $htmlTagAttributes = array();
260 $htmlLang =
$GLOBALS[
'TSFE']->config[
'config'][
'htmlTag_langKey'] ?:
'en';
262 if (
$GLOBALS[
'TSFE']->config[
'config'][
'htmlTag_dir']) {
263 $htmlTagAttributes[
'dir'] = htmlspecialchars(
$GLOBALS[
'TSFE']->config[
'config'][
'htmlTag_dir']);
266 $docTypeParts = array();
269 switch ((
string)
$GLOBALS[
'TSFE']->config[
'config'][
'xmlprologue']) {
271 $xmlDocument = FALSE;
272 $GLOBALS[
'TSFE']->config[
'config'][
'xhtml_cleaning'] =
'none';
275 $docTypeParts[] =
'<?xml version="1.0" encoding="' . $theCharset .
'"?>';
278 $docTypeParts[] =
'<?xml version="1.1" encoding="' . $theCharset .
'"?>';
281 if (
$GLOBALS[
'TSFE']->xhtmlVersion) {
282 $docTypeParts[] =
'<?xml version="1.0" encoding="' . $theCharset .
'"?>';
286 $docTypeParts[] =
$GLOBALS[
'TSFE']->config[
'config'][
'xmlprologue'];
289 $doctype =
$GLOBALS[
'TSFE']->config[
'config'][
'doctype'];
293 $docTypeParts[] =
'<!DOCTYPE html 294 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 295 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
298 $docTypeParts[] =
'<!DOCTYPE html 299 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 300 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
303 $docTypeParts[] =
'<!DOCTYPE html 304 PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 305 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">';
308 $docTypeParts[] =
'<!DOCTYPE html 309 PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" 310 "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">';
313 $docTypeParts[] =
'<!DOCTYPE html 314 PUBLIC "-//W3C//DTD XHTML 1.1//EN" 315 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">';
318 $docTypeParts[] =
'<!DOCTYPE html 319 PUBLIC "-//W3C//DTD XHTML 2.0//EN" 320 "http://www.w3.org/TR/xhtml2/DTD/xhtml2.dtd">';
322 case 'xhtml+rdfa_10':
323 $docTypeParts[] =
'<!DOCTYPE html 324 PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" 325 "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">';
328 $docTypeParts[] =
'<!DOCTYPE html>';
330 $pageRenderer->setMetaCharsetTag(
'<meta charset="|" />');
332 $pageRenderer->setMetaCharsetTag(
'<meta charset="|">');
338 $docTypeParts[] = $doctype;
341 $docTypeParts[] =
'<!DOCTYPE html>';
343 $pageRenderer->setMetaCharsetTag(
'<meta charset="|" />');
345 $pageRenderer->setMetaCharsetTag(
'<meta charset="|">');
348 if (
$GLOBALS[
'TSFE']->xhtmlVersion) {
349 $htmlTagAttributes[
'xml:lang'] = $htmlLang;
351 if (
$GLOBALS[
'TSFE']->xhtmlVersion < 110 || $doctype ===
'html5') {
352 $htmlTagAttributes[
'lang'] = $htmlLang;
354 if (
$GLOBALS[
'TSFE']->xhtmlVersion || $doctype ===
'html5' && $xmlDocument) {
356 $htmlTagAttributes[
'xmlns'] =
'http://www.w3.org/1999/xhtml';
357 if (is_array(
$GLOBALS[
'TSFE']->config[
'config'][
'namespaces.'])) {
358 foreach (
$GLOBALS[
'TSFE']->config[
'config'][
'namespaces.'] as $prefix => $uri) {
360 $htmlTagAttributes[
'xmlns:' . htmlspecialchars($prefix)] = $uri;
365 if (
$GLOBALS[
'TSFE']->config[
'config'][
'doctypeSwitch']) {
366 $docTypeParts = array_reverse($docTypeParts);
369 if (count($docTypeParts)) {
370 $pageRenderer->setXmlPrologAndDocType(implode(LF, $docTypeParts));
373 if (
$GLOBALS[
'TSFE']->config[
'config'][
'htmlTag_setParams'] !==
'none') {
378 $htmlTag =
'<html' . ($_attr ?
' ' . $_attr :
'') .
'>';
379 if (isset(
$GLOBALS[
'TSFE']->config[
'config'][
'htmlTag_stdWrap.'])) {
380 $htmlTag =
$GLOBALS[
'TSFE']->cObj->stdWrap($htmlTag,
$GLOBALS[
'TSFE']->config[
'config'][
'htmlTag_stdWrap.']);
382 $pageRenderer->setHtmlTag($htmlTag);
384 $headTag =
$GLOBALS[
'TSFE']->pSetup[
'headTag'] ?:
'<head>';
385 $pageRenderer->setHeadTag($headTag);
387 $pageRenderer->setCharSet($theCharset);
388 $pageRenderer->addInlineComment(
' This website is powered by TYPO3 - inspiring people to share! 389 TYPO3 is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL. 390 TYPO3 is copyright ' . TYPO3_copyright_year .
' of Kasper Skaarhoj. Extensions are copyright of their respective owners. 391 Information and contribution at ' . TYPO3_URL_ORG .
' 394 $pageRenderer->setBaseUrl(
$GLOBALS[
'TSFE']->baseUrl);
396 if (
$GLOBALS[
'TSFE']->pSetup[
'shortcutIcon']) {
397 $favIcon = ltrim(
$GLOBALS[
'TSFE']->tmpl->getFileName(
$GLOBALS[
'TSFE']->pSetup[
'shortcutIcon']),
'/');
398 if (is_file(PATH_site . $favIcon)) {
399 if (function_exists(
'finfo_open')) {
400 if ($finfo = @finfo_open(FILEINFO_MIME)) {
401 $iconMimeType =
' type="' . finfo_file($finfo, (PATH_site . $favIcon)) .
'"';
403 $pageRenderer->setIconMimeType($iconMimeType);
410 if (is_array(
$GLOBALS[
'TSFE']->tmpl->setup[
'plugin.'])) {
411 $temp_styleLines = array();
412 foreach (
$GLOBALS[
'TSFE']->tmpl->setup[
'plugin.'] as $key => $iCSScode) {
413 if (is_array($iCSScode)) {
414 if ($iCSScode[
'_CSS_DEFAULT_STYLE'] && empty(
$GLOBALS[
'TSFE']->config[
'config'][
'removeDefaultCss'])) {
415 if (isset($iCSScode[
'_CSS_DEFAULT_STYLE.'])) {
416 $cssDefaultStyle =
$GLOBALS[
'TSFE']->cObj->stdWrap($iCSScode[
'_CSS_DEFAULT_STYLE'], $iCSScode[
'_CSS_DEFAULT_STYLE.']);
418 $cssDefaultStyle = $iCSScode[
'_CSS_DEFAULT_STYLE'];
420 $temp_styleLines[] =
'/* default styles for extension "' . substr($key, 0, -1) .
'" */' . LF . $cssDefaultStyle;
422 if ($iCSScode[
'_CSS_PAGE_STYLE'] && empty(
$GLOBALS[
'TSFE']->config[
'config'][
'removePageCss'])) {
423 $cssPageStyle = implode(LF, $iCSScode[
'_CSS_PAGE_STYLE']);
424 if (isset($iCSScode[
'_CSS_PAGE_STYLE.'])) {
425 $cssPageStyle =
$GLOBALS[
'TSFE']->cObj->stdWrap($cssPageStyle, $iCSScode[
'_CSS_PAGE_STYLE.']);
427 $temp_styleLines[] =
'/* specific page styles for extension "' . substr($key, 0, -1) .
'" */' . LF . $cssPageStyle;
431 if (count($temp_styleLines)) {
432 if (
$GLOBALS[
'TSFE']->config[
'config'][
'inlineStyle2TempFile']) {
433 $pageRenderer->addCssFile(self::inline2TempFile(implode(LF, $temp_styleLines),
'css'));
435 $pageRenderer->addCssInlineBlock(
'TSFEinlineStyle', implode(LF, $temp_styleLines));
439 if (
$GLOBALS[
'TSFE']->pSetup[
'stylesheet']) {
440 $ss =
$GLOBALS[
'TSFE']->tmpl->getFileName(
$GLOBALS[
'TSFE']->pSetup[
'stylesheet']);
442 $pageRenderer->addCssFile($ss);
448 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'includeCSS.'])) {
449 foreach (
$GLOBALS[
'TSFE']->pSetup[
'includeCSS.'] as $key => $CSSfile) {
450 if (!is_array($CSSfile)) {
451 $cssFileConfig = &
$GLOBALS[
'TSFE']->pSetup[
'includeCSS.'][$key .
'.'];
452 if (isset($cssFileConfig[
'if.']) && !
$GLOBALS[
'TSFE']->cObj->checkIf($cssFileConfig[
'if.'])) {
455 $ss = $cssFileConfig[
'external'] ? $CSSfile :
$GLOBALS[
'TSFE']->tmpl->getFileName($CSSfile);
457 if ($cssFileConfig[
'import']) {
458 if (!$cssFileConfig[
'external'] && $ss[0] !==
'/') {
462 $pageRenderer->addCssInlineBlock(
'import_' . $key,
'@import url("' . htmlspecialchars($ss) .
'") ' . htmlspecialchars($cssFileConfig[
'media']) .
';', empty($cssFileConfig[
'disableCompression']), $cssFileConfig[
'forceOnTop'] ? TRUE : FALSE,
'');
464 $pageRenderer->addCssFile(
466 $cssFileConfig[
'alternate'] ?
'alternate stylesheet' :
'stylesheet',
467 $cssFileConfig[
'media'] ?:
'all',
468 $cssFileConfig[
'title'] ?:
'',
469 empty($cssFileConfig[
'disableCompression']),
470 $cssFileConfig[
'forceOnTop'] ? TRUE : FALSE,
471 $cssFileConfig[
'allWrap'],
472 $cssFileConfig[
'excludeFromConcatenation'] ? TRUE : FALSE,
473 $cssFileConfig[
'allWrap.'][
'splitChar']
475 unset($cssFileConfig);
481 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'includeCSSLibs.'])) {
482 foreach (
$GLOBALS[
'TSFE']->pSetup[
'includeCSSLibs.'] as $key => $CSSfile) {
483 if (!is_array($CSSfile)) {
484 $cssFileConfig = &
$GLOBALS[
'TSFE']->pSetup[
'includeCSSLibs.'][$key .
'.'];
485 if (isset($cssFileConfig[
'if.']) && !
$GLOBALS[
'TSFE']->cObj->checkIf($cssFileConfig[
'if.'])) {
488 $ss = $cssFileConfig[
'external'] ? $CSSfile :
$GLOBALS[
'TSFE']->tmpl->getFileName($CSSfile);
490 if ($cssFileConfig[
'import']) {
491 if (!$cssFileConfig[
'external'] && $ss[0] !==
'/') {
495 $pageRenderer->addCssInlineBlock(
'import_' . $key,
'@import url("' . htmlspecialchars($ss) .
'") ' . htmlspecialchars($cssFileConfig[
'media']) .
';', empty($cssFileConfig[
'disableCompression']), $cssFileConfig[
'forceOnTop'] ? TRUE : FALSE,
'');
497 $pageRenderer->addCssLibrary(
499 $cssFileConfig[
'alternate'] ?
'alternate stylesheet' :
'stylesheet',
500 $cssFileConfig[
'media'] ?:
'all',
501 $cssFileConfig[
'title'] ?:
'',
502 empty($cssFileConfig[
'disableCompression']),
503 $cssFileConfig[
'forceOnTop'] ? TRUE : FALSE,
504 $cssFileConfig[
'allWrap'],
505 $cssFileConfig[
'excludeFromConcatenation'] ? TRUE : FALSE,
506 $cssFileConfig[
'allWrap.'][
'splitChar']
508 unset($cssFileConfig);
517 if (
$GLOBALS[
'TSFE']->pSetup[
'insertClassesFromRTE']) {
518 $pageTSConfig =
$GLOBALS[
'TSFE']->getPagesTSconfig();
519 $RTEclasses = $pageTSConfig[
'RTE.'][
'classes.'];
520 if (is_array($RTEclasses)) {
521 foreach ($RTEclasses as $RTEclassName => $RTEvalueArray) {
522 if ($RTEvalueArray[
'value']) {
524 .' . substr($RTEclassName, 0, -1) .
' {' . $RTEvalueArray[
'value'] .
'}';
528 if (
$GLOBALS[
'TSFE']->pSetup[
'insertClassesFromRTE.'][
'add_mainStyleOverrideDefs'] && is_array($pageTSConfig[
'RTE.'][
'default.'][
'mainStyleOverride_add.'])) {
530 foreach ($pageTSConfig[
'RTE.'][
'default.'][
'mainStyleOverride_add.'] as $mSOa_key => $mSOa_value) {
531 if (!is_array($mSOa_value) && (in_array(
'*', $mSOa_tList) || in_array($mSOa_key, $mSOa_tList))) {
533 ' . $mSOa_key .
' {' . $mSOa_value .
'}';
539 if (isset(
$GLOBALS[
'TSFE']->pSetup[
'bodyTagMargins']) &&
$GLOBALS[
'TSFE']->pSetup[
'bodyTagMargins.'][
'useCSS']) {
540 $margins = (int)
$GLOBALS[
'TSFE']->pSetup[
'bodyTagMargins'];
542 BODY {margin: ' . $margins .
'px ' . $margins .
'px ' . $margins .
'px ' . $margins .
'px;}';
544 if (
$GLOBALS[
'TSFE']->pSetup[
'adminPanelStyles']) {
547 /* Default styles for the Admin Panel */ 548 TABLE.typo3-adminPanel { border: 1px solid black; background-color: #F6F2E6; } 549 TABLE.typo3-adminPanel TR.typo3-adminPanel-hRow TD { background-color: #9BA1A8; } 550 TABLE.typo3-adminPanel TR.typo3-adminPanel-itemHRow TD { background-color: #ABBBB4; } 551 TABLE.typo3-adminPanel TABLE, TABLE.typo3-adminPanel TD { border: 0px; } 552 TABLE.typo3-adminPanel TD FONT { font-family: verdana; font-size: 10px; color: black; } 553 TABLE.typo3-adminPanel TD A FONT { font-family: verdana; font-size: 10px; color: black; } 554 TABLE.typo3-editPanel { border: 1px solid black; background-color: #F6F2E6; } 555 TABLE.typo3-editPanel TD { border: 0px; } 559 $style .= trim(
$GLOBALS[
'TSFE']->pSetup[
'CSS_inlineStyle']);
560 $style .=
$GLOBALS[
'TSFE']->cObj->cObjGet(
$GLOBALS[
'TSFE']->pSetup[
'cssInline.'],
'cssInline.');
562 if (
$GLOBALS[
'TSFE']->config[
'config'][
'inlineStyle2TempFile']) {
563 $pageRenderer->addCssFile(self::inline2TempFile($style,
'css'));
565 $pageRenderer->addCssInlineBlock(
'additionalTSFEInlineStyle', $style);
569 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'])) {
570 if (
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'SVG']) {
571 $pageRenderer->loadSvg();
572 if (
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'SVG.'][
'debug']) {
573 $pageRenderer->enableSvgDebug();
575 if (
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'SVG.'][
'forceFlash']) {
576 $pageRenderer->svgForceFlash();
579 if (
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'Prototype']) {
580 $pageRenderer->loadPrototype();
582 if (
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'Scriptaculous']) {
583 $modules =
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'Scriptaculous.'][
'modules'] ?:
'';
584 $pageRenderer->loadScriptaculous($modules);
586 if (
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'ExtCore']) {
587 $pageRenderer->loadExtCore();
588 if (
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'ExtCore.'][
'debug']) {
589 $pageRenderer->enableExtCoreDebug();
593 if (!empty(
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'jQuery'])) {
594 $jQueryTS =
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'jQuery.'];
596 $version = isset($jQueryTS[
'version']) ? $jQueryTS[
'version'] : NULL;
597 $source = isset($jQueryTS[
'source']) ? $jQueryTS[
'source'] : NULL;
599 if (!isset($jQueryTS[
'noConflict']) || !empty($jQueryTS[
'noConflict'])) {
601 if (!empty($jQueryTS[
'noConflict.'][
'namespace'])) {
602 $namespace = $jQueryTS[
'noConflict.'][
'namespace'];
609 $pageRenderer->loadJQuery($version, $source, $namespace);
611 if (
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'ExtJs']) {
612 $css =
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'ExtJs.'][
'css'] ? TRUE : FALSE;
613 $theme =
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'ExtJs.'][
'theme'] ? TRUE : FALSE;
614 $adapter =
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'ExtJs.'][
'adapter'] ?:
'';
615 $pageRenderer->loadExtJs($css, $theme, $adapter);
616 if (
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'ExtJs.'][
'debug']) {
617 $pageRenderer->enableExtJsDebug();
619 if (
$GLOBALS[
'TSFE']->pSetup[
'javascriptLibs.'][
'ExtJs.'][
'quickTips']) {
620 $pageRenderer->enableExtJSQuickTips();
625 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'includeJSlibs.'])) {
626 foreach (
$GLOBALS[
'TSFE']->pSetup[
'includeJSlibs.'] as $key => $JSfile) {
627 if (!is_array($JSfile)) {
628 if (isset(
$GLOBALS[
'TSFE']->pSetup[
'includeJSlibs.'][$key .
'.'][
'if.']) && !
$GLOBALS[
'TSFE']->cObj->checkIf(
$GLOBALS[
'TSFE']->pSetup[
'includeJSlibs.'][($key .
'.')][
'if.'])) {
631 $ss =
$GLOBALS[
'TSFE']->pSetup[
'includeJSlibs.'][$key .
'.'][
'external'] ? $JSfile :
$GLOBALS[
'TSFE']->tmpl->getFileName($JSfile);
633 $jsFileConfig = &
$GLOBALS[
'TSFE']->pSetup[
'includeJSlibs.'][$key .
'.'];
634 $type = $jsFileConfig[
'type'];
636 $type =
'text/javascript';
639 $pageRenderer->addJsLibrary(
643 empty($jsFileConfig[
'disableCompression']),
644 $jsFileConfig[
'forceOnTop'] ? TRUE : FALSE,
645 $jsFileConfig[
'allWrap'],
646 $jsFileConfig[
'excludeFromConcatenation'] ? TRUE : FALSE,
647 $jsFileConfig[
'allWrap.'][
'splitChar']
649 unset($jsFileConfig);
654 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'includeJSFooterlibs.'])) {
655 foreach (
$GLOBALS[
'TSFE']->pSetup[
'includeJSFooterlibs.'] as $key => $JSfile) {
656 if (!is_array($JSfile)) {
657 if (isset(
$GLOBALS[
'TSFE']->pSetup[
'includeJSFooterlibs.'][$key .
'.'][
'if.']) && !
$GLOBALS[
'TSFE']->cObj->checkIf(
$GLOBALS[
'TSFE']->pSetup[
'includeJSFooterlibs.'][($key .
'.')][
'if.'])) {
660 $ss =
$GLOBALS[
'TSFE']->pSetup[
'includeJSFooterlibs.'][$key .
'.'][
'external'] ? $JSfile :
$GLOBALS[
'TSFE']->tmpl->getFileName($JSfile);
662 $jsFileConfig = &
$GLOBALS[
'TSFE']->pSetup[
'includeJSFooterlibs.'][$key .
'.'];
663 $type = $jsFileConfig[
'type'];
665 $type =
'text/javascript';
667 $pageRenderer->addJsFooterLibrary(
671 empty($jsFileConfig[
'disableCompression']),
672 $jsFileConfig[
'forceOnTop'] ? TRUE : FALSE,
673 $jsFileConfig[
'allWrap'],
674 $jsFileConfig[
'excludeFromConcatenation'] ? TRUE : FALSE,
675 $jsFileConfig[
'allWrap.'][
'splitChar']
677 unset($jsFileConfig);
683 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'includeJS.'])) {
684 foreach (
$GLOBALS[
'TSFE']->pSetup[
'includeJS.'] as $key => $JSfile) {
685 if (!is_array($JSfile)) {
686 if (isset(
$GLOBALS[
'TSFE']->pSetup[
'includeJS.'][$key .
'.'][
'if.']) && !
$GLOBALS[
'TSFE']->cObj->checkIf(
$GLOBALS[
'TSFE']->pSetup[
'includeJS.'][($key .
'.')][
'if.'])) {
689 $ss =
$GLOBALS[
'TSFE']->pSetup[
'includeJS.'][$key .
'.'][
'external'] ? $JSfile :
$GLOBALS[
'TSFE']->tmpl->getFileName($JSfile);
691 $jsConfig = &
$GLOBALS[
'TSFE']->pSetup[
'includeJS.'][$key .
'.'];
692 $type = $jsConfig[
'type'];
694 $type =
'text/javascript';
696 $pageRenderer->addJsFile(
699 empty($jsConfig[
'disableCompression']),
700 $jsConfig[
'forceOnTop'] ? TRUE : FALSE,
701 $jsConfig[
'allWrap'],
702 $jsConfig[
'excludeFromConcatenation'] ? TRUE : FALSE,
703 $jsConfig[
'allWrap.'][
'splitChar']
710 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'includeJSFooter.'])) {
711 foreach (
$GLOBALS[
'TSFE']->pSetup[
'includeJSFooter.'] as $key => $JSfile) {
712 if (!is_array($JSfile)) {
713 if (isset(
$GLOBALS[
'TSFE']->pSetup[
'includeJSFooter.'][$key .
'.'][
'if.']) && !
$GLOBALS[
'TSFE']->cObj->checkIf(
$GLOBALS[
'TSFE']->pSetup[
'includeJSFooter.'][($key .
'.')][
'if.'])) {
716 $ss =
$GLOBALS[
'TSFE']->pSetup[
'includeJSFooter.'][$key .
'.'][
'external'] ? $JSfile :
$GLOBALS[
'TSFE']->tmpl->getFileName($JSfile);
718 $jsConfig = &
$GLOBALS[
'TSFE']->pSetup[
'includeJSFooter.'][$key .
'.'];
719 $type = $jsConfig[
'type'];
721 $type =
'text/javascript';
723 $pageRenderer->addJsFooterFile(
726 empty($jsConfig[
'disableCompression']),
727 $jsConfig[
'forceOnTop'] ? TRUE : FALSE,
728 $jsConfig[
'allWrap'],
729 $jsConfig[
'excludeFromConcatenation'] ? TRUE : FALSE,
730 $jsConfig[
'allWrap.'][
'splitChar']
738 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'headerData.'])) {
739 $pageRenderer->addHeaderData(
$GLOBALS[
'TSFE']->cObj->cObjGet(
$GLOBALS[
'TSFE']->pSetup[
'headerData.'],
'headerData.'));
742 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'footerData.'])) {
743 $pageRenderer->addFooterData(
$GLOBALS[
'TSFE']->cObj->cObjGet(
$GLOBALS[
'TSFE']->pSetup[
'footerData.'],
'footerData.'));
745 static::generatePageTitle();
747 $metaTagsHtml = static::generateMetaTagHtml(
748 isset(
$GLOBALS[
'TSFE']->pSetup[
'meta.']) ?
$GLOBALS[
'TSFE']->pSetup[
'meta.'] : array(),
752 foreach ($metaTagsHtml as $metaTag) {
753 $pageRenderer->addMetaTag($metaTag);
756 unset(
$GLOBALS[
'TSFE']->additionalHeaderData[
'JSCode']);
757 unset(
$GLOBALS[
'TSFE']->additionalHeaderData[
'JSImgCode']);
758 if (is_array(
$GLOBALS[
'TSFE']->config[
'INTincScript'])) {
760 $GLOBALS[
'TSFE']->additionalHeaderData[
'JSCode'] =
$GLOBALS[
'TSFE']->JSCode;
761 $GLOBALS[
'TSFE']->additionalHeaderData[
'JSImgCode'] =
$GLOBALS[
'TSFE']->JSImgCode;
762 $GLOBALS[
'TSFE']->config[
'INTincScript_ext'][
'divKey'] =
$GLOBALS[
'TSFE']->uniqueHash();
763 $GLOBALS[
'TSFE']->config[
'INTincScript_ext'][
'additionalHeaderData'] =
$GLOBALS[
'TSFE']->additionalHeaderData;
765 $GLOBALS[
'TSFE']->config[
'INTincScript_ext'][
'additionalFooterData'] =
$GLOBALS[
'TSFE']->additionalFooterData;
767 $GLOBALS[
'TSFE']->config[
'INTincScript_ext'][
'additionalJavaScript'] =
$GLOBALS[
'TSFE']->additionalJavaScript;
769 $GLOBALS[
'TSFE']->config[
'INTincScript_ext'][
'additionalCSS'] =
$GLOBALS[
'TSFE']->additionalCSS;
771 $GLOBALS[
'TSFE']->additionalHeaderData = array(
'<!--HD_' .
$GLOBALS[
'TSFE']->config[
'INTincScript_ext'][
'divKey'] .
'-->');
773 $GLOBALS[
'TSFE']->additionalFooterData = array(
'<!--FD_' .
$GLOBALS[
'TSFE']->config[
'INTincScript_ext'][
'divKey'] .
'-->');
775 $GLOBALS[
'TSFE']->divSection .=
'<!--TDS_' .
$GLOBALS[
'TSFE']->config[
'INTincScript_ext'][
'divKey'] .
'-->';
777 $GLOBALS[
'TSFE']->INTincScript_loadJSCode();
779 $JSef = self::JSeventFunctions();
780 $scriptJsCode = $JSef[0];
782 if (
$GLOBALS[
'TSFE']->spamProtectEmailAddresses &&
$GLOBALS[
'TSFE']->spamProtectEmailAddresses !==
'ascii') {
784 // decrypt helper function 785 function decryptCharcode(n,start,end,offset) { 787 if (offset > 0 && n > end) { 788 n = start + (n - end - 1); 789 } else if (offset < 0 && n < start) { 790 n = end - (start - n - 1); 792 return String.fromCharCode(n); 795 function decryptString(enc,offset) { 797 var len = enc.length; 798 for(var i=0; i < len; i++) { 799 var n = enc.charCodeAt(i); 800 if (n >= 0x2B && n <= 0x3A) { 801 dec += decryptCharcode(n,0x2B,0x3A,offset); // 0-9 . , - + / : 802 } else if (n >= 0x40 && n <= 0x5A) { 803 dec += decryptCharcode(n,0x40,0x5A,offset); // A-Z @ 804 } else if (n >= 0x61 && n <= 0x7A) { 805 dec += decryptCharcode(n,0x61,0x7A,offset); // a-z 807 dec += enc.charAt(i); 812 // decrypt spam-protected emails 813 function linkTo_UnCryptMailto(s) { 814 location.href = decryptString(s,' .
$GLOBALS[
'TSFE']->spamProtectEmailAddresses * -1 .
'); 821 if (is_array(
$GLOBALS[
'TSFE']->inlineJS)) {
822 foreach (
$GLOBALS[
'TSFE']->inlineJS as $key => $val) {
823 if (!is_array($val)) {
824 $inlineJS .= LF . $val . LF;
830 $inline =
$GLOBALS[
'TSFE']->cObj->cObjGet(
$GLOBALS[
'TSFE']->pSetup[
'jsInline.'],
'jsInline.');
832 $inlineJS .= LF . $inline . LF;
835 $inlineFooterJs =
$GLOBALS[
'TSFE']->cObj->cObjGet(
$GLOBALS[
'TSFE']->pSetup[
'jsFooterInline.'],
'jsFooterInline.');
837 if (
$GLOBALS[
'TSFE']->config[
'config'][
'compressJs']) {
838 $pageRenderer->enableCompressJavascript();
839 $minifyErrorScript = ($minifyErrorInline =
'');
841 if ($minifyErrorScript) {
842 $GLOBALS[
'TT']->setTSlogMessage($minifyErrorScript, 3);
846 if ($minifyErrorInline) {
847 $GLOBALS[
'TT']->setTSlogMessage($minifyErrorInline, 3);
850 if ($inlineFooterJs) {
852 if ($minifyErrorInline) {
853 $GLOBALS[
'TT']->setTSlogMessage($minifyErrorInline, 3);
857 if (!
$GLOBALS[
'TSFE']->config[
'config'][
'removeDefaultJS']) {
860 $pageRenderer->addJsInlineCode(
'_scriptCode', $scriptJsCode,
$GLOBALS[
'TSFE']->config[
'config'][
'compressJs']);
863 $pageRenderer->addJsInlineCode(
'TS_inlineJS', $inlineJS,
$GLOBALS[
'TSFE']->config[
'config'][
'compressJs']);
865 if ($inlineFooterJs) {
866 $pageRenderer->addJsFooterInlineCode(
'TS_inlineFooter', $inlineFooterJs,
$GLOBALS[
'TSFE']->config[
'config'][
'compressJs']);
868 } elseif (
$GLOBALS[
'TSFE']->config[
'config'][
'removeDefaultJS'] ===
'external') {
879 self::stripIntObjectPlaceholder($inlineJS, $inlineJSint);
881 $pageRenderer->addJsInlineCode(
'TS_inlineJSint', $inlineJSint,
$GLOBALS[
'TSFE']->config[
'config'][
'compressJs']);
883 if (trim($scriptJsCode . $inlineJS)) {
884 $pageRenderer->addJsFile(self::inline2TempFile($scriptJsCode . $inlineJS,
'js'),
'text/javascript',
$GLOBALS[
'TSFE']->config[
'config'][
'compressJs']);
886 if ($inlineFooterJs) {
887 $inlineFooterJSint =
'';
888 self::stripIntObjectPlaceholder($inlineFooterJs, $inlineFooterJSint);
889 if ($inlineFooterJSint) {
890 $pageRenderer->addJsFooterInlineCode(
'TS_inlineFooterJSint', $inlineFooterJSint,
$GLOBALS[
'TSFE']->config[
'config'][
'compressJs']);
892 $pageRenderer->addJsFooterFile(self::inline2TempFile($inlineFooterJs,
'js'),
'text/javascript',
$GLOBALS[
'TSFE']->config[
'config'][
'compressJs']);
897 $pageRenderer->addJsInlineCode(
'TS_inlineJS', $inlineJS,
$GLOBALS[
'TSFE']->config[
'config'][
'compressJs']);
899 if ($inlineFooterJs) {
900 $pageRenderer->addJsFooterInlineCode(
'TS_inlineFooter', $inlineFooterJs,
$GLOBALS[
'TSFE']->config[
'config'][
'compressJs']);
904 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'inlineLanguageLabel.'])) {
905 $pageRenderer->addInlineLanguageLabelArray(
$GLOBALS[
'TSFE']->pSetup[
'inlineLanguageLabel.']);
907 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'inlineSettings.'])) {
908 $pageRenderer->addInlineSettingArray(
'TS',
$GLOBALS[
'TSFE']->pSetup[
'inlineSettings.']);
910 if (is_array(
$GLOBALS[
'TSFE']->pSetup[
'extOnReady.'])) {
911 $pageRenderer->addExtOnReadyCode(
$GLOBALS[
'TSFE']->cObj->cObjGet(
$GLOBALS[
'TSFE']->pSetup[
'extOnReady.'],
'extOnReady.'));
914 if (
$GLOBALS[
'TSFE']->config[
'config'][
'compressCss']) {
915 $pageRenderer->enableCompressCss();
917 if (
$GLOBALS[
'TSFE']->config[
'config'][
'compressJs']) {
918 $pageRenderer->enableCompressJavascript();
920 if (
$GLOBALS[
'TSFE']->config[
'config'][
'concatenateCss']) {
921 $pageRenderer->enableConcatenateCss();
923 if (
$GLOBALS[
'TSFE']->config[
'config'][
'concatenateJs']) {
924 $pageRenderer->enableConcatenateJavascript();
927 if (
$GLOBALS[
'TSFE']->config[
'config'][
'concatenateJsAndCss']) {
928 $pageRenderer->enableConcatenateFiles();
931 if (
$GLOBALS[
'TSFE']->additionalHeaderData) {
932 $pageRenderer->addHeaderData(implode(LF,
$GLOBALS[
'TSFE']->additionalHeaderData));
935 if (
$GLOBALS[
'TSFE']->additionalFooterData) {
936 $pageRenderer->addFooterData(implode(LF,
$GLOBALS[
'TSFE']->additionalFooterData));
939 if (
$GLOBALS[
'TSFE']->pSetup[
'frameSet.']) {
941 $pageRenderer->addBodyContent($fs->make(
$GLOBALS[
'TSFE']->pSetup[
'frameSet.']));
942 $pageRenderer->addBodyContent(LF .
'<noframes>' . LF);
945 if (
$GLOBALS[
'TSFE']->config[
'config'][
'disableBodyTag']) {
948 $defBT =
$GLOBALS[
'TSFE']->pSetup[
'bodyTagCObject'] ?
$GLOBALS[
'TSFE']->cObj->cObjGetSingle(
$GLOBALS[
'TSFE']->pSetup[
'bodyTagCObject'],
$GLOBALS[
'TSFE']->pSetup[
'bodyTagCObject.'],
'bodyTagCObject') :
'';
950 $defBT =
$GLOBALS[
'TSFE']->defaultBodyTag;
952 $bodyTag =
$GLOBALS[
'TSFE']->pSetup[
'bodyTag'] ?
$GLOBALS[
'TSFE']->pSetup[
'bodyTag'] : $defBT;
953 if ($bgImg =
$GLOBALS[
'TSFE']->cObj->getImgResource(
$GLOBALS[
'TSFE']->pSetup[
'bgImg'],
$GLOBALS[
'TSFE']->pSetup[
'bgImg.'])) {
954 $bodyTag = preg_replace(
'/>$/',
'', trim($bodyTag)) .
' background="' .
$GLOBALS[
'TSFE']->absRefPrefix . $bgImg[3] .
'">';
956 if (isset(
$GLOBALS[
'TSFE']->pSetup[
'bodyTagMargins'])) {
957 $margins = (int)
$GLOBALS[
'TSFE']->pSetup[
'bodyTagMargins'];
958 if (
$GLOBALS[
'TSFE']->pSetup[
'bodyTagMargins.'][
'useCSS']) {
961 $bodyTag = preg_replace(
'/>$/',
'', trim($bodyTag)) .
' leftmargin="' . $margins .
'" topmargin="' . $margins .
'" marginwidth="' . $margins .
'" marginheight="' . $margins .
'">';
964 if (trim(
$GLOBALS[
'TSFE']->pSetup[
'bodyTagAdd'])) {
965 $bodyTag = preg_replace(
'/>$/',
'', trim($bodyTag)) .
' ' . trim(
$GLOBALS[
'TSFE']->pSetup[
'bodyTagAdd']) .
'>';
968 if (count($JSef[1])) {
969 $bodyTag = preg_replace(
'/>$/',
'', trim($bodyTag)) .
' ' . trim(implode(
' ', $JSef[1])) .
'>';
972 $pageRenderer->addBodyContent(LF . $bodyTag);
975 $pageRenderer->addBodyContent(LF .
$GLOBALS[
'TSFE']->divSection);
978 $pageRenderer->addBodyContent(LF . $pageContent);
979 if (!empty(
$GLOBALS[
'TSFE']->config[
'INTincScript']) && is_array(
$GLOBALS[
'TSFE']->config[
'INTincScript'])) {
981 $GLOBALS[
'TSFE']->config[
'INTincScript_ext'][
'pageRenderer'] = serialize($pageRenderer);
983 $GLOBALS[
'TSFE']->content = $pageRenderer->renderPageWithUncachedObjects(
$GLOBALS[
'TSFE']->config[
'INTincScript_ext'][
'divKey']);
986 $GLOBALS[
'TSFE']->content = $pageRenderer->render();
989 if (
$GLOBALS[
'TSFE']->pSetup[
'frameSet.']) {
990 $GLOBALS[
'TSFE']->content .= LF .
'</noframes>';
1008 $tempArray = array();
1009 preg_match_all(
'/\\<\\!--INT_SCRIPT.[a-z0-9]*--\\>/', $searchString, $tempArray);
1010 $searchString = preg_replace(
'/\\<\\!--INT_SCRIPT.[a-z0-9]*--\\>/',
'', $searchString);
1011 $intObjects = implode(
'', $tempArray[0]);
1026 $script =
'typo3temp/javascript_' . substr(md5($str), 0, 10) .
'.js';
1029 $script =
'typo3temp/stylesheet_' . substr(md5($str), 0, 10) .
'.css';
1034 if (!@is_file((PATH_site . $script))) {
1051 if ($needle ==
'int' || $needle ==
'integer') {
1052 if (\
TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($haystack)) {
1055 } elseif (preg_match(
'/^\\/.+\\/[imsxeADSUXu]*$/', $needle)) {
1057 if (@preg_match($needle, $haystack)) {
1060 } elseif (strstr($needle,
'-')) {
1062 if (\
TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($haystack)) {
1063 $range = explode(
'-', $needle);
1064 if ($range[0] <= $haystack && $range[1] >= $haystack) {
1068 } elseif (strstr($needle,
'|')) {
1071 $haystack = str_replace(
' ',
'', $haystack);
1072 if (strstr(
'|' . $needle .
'|',
'|' . $haystack .
'|')) {
1075 } elseif ((
string)$needle === (
string)$haystack) {
1091 $titleTagContent =
$GLOBALS[
'TSFE']->tmpl->printTitle(
1093 $GLOBALS[
'TSFE']->config[
'config'][
'noPageTitle'],
1094 $GLOBALS[
'TSFE']->config[
'config'][
'pageTitleFirst']
1096 if (
$GLOBALS[
'TSFE']->config[
'config'][
'titleTagFunction']) {
1097 $titleTagContent =
$GLOBALS[
'TSFE']->cObj->callUserFunction(
1098 $GLOBALS[
'TSFE']->config[
'config'][
'titleTagFunction'],
1103 if ($titleTagContent !==
'' && (
int)
$GLOBALS[
'TSFE']->config[
'config'][
'noPageTitle'] !== self::NO_PAGE_TITLE) {
1104 $GLOBALS[
'TSFE']->getPageRenderer()->setTitle($titleTagContent);
1116 static protected function generateMetaTagHtml(array $metaTagTypoScript, $xhtml,
ContentObjectRenderer $cObj) {
1118 $endingSlash = $xhtml ?
' /' :
'';
1121 '<meta name="generator" content="TYPO3 CMS"' . $endingSlash .
'>' 1126 $conf = $typoScriptService->convertTypoScriptArrayToPlainArray($metaTagTypoScript);
1127 foreach ($conf as $key => $properties) {
1128 if (is_array($properties)) {
1129 $nodeValue = isset($properties[
'_typoScriptNodeValue']) ? $properties[
'_typoScriptNodeValue'] :
'';
1130 $value = trim($cObj->
stdWrap($nodeValue, $metaTagTypoScript[$key .
'.']));
1132 $value = $properties;
1134 if ($value !==
'') {
1135 $attribute =
'name';
1136 if ( (is_array($properties) && !empty($properties[
'httpEquivalent'])) || strtolower($key) ===
'refresh') {
1137 $attribute =
'http-equiv';
1139 $metaTags[] =
'<meta ' . $attribute .
'="' . $key .
'" content="' . htmlspecialchars($value) .
'"' . $endingSlash .
'>';
1155 if (is_array(
$GLOBALS[
'TSFE']->sWordList)) {
1156 $space = !empty(
$GLOBALS[
'TSFE']->config[
'config'][
'sword_standAlone']) ?
'[[:space:]]' :
'';
1157 foreach (
$GLOBALS[
'TSFE']->sWordList as $val) {
1158 if (trim($val) !==
'') {
1159 $GLOBALS[
'TSFE']->sWordRegEx .= $space . preg_quote($val,
'/') . $space .
'|';
static minifyJavaScript($script, &$error='')
static implodeAttributes(array $arr, $xhtmlSafe=FALSE, $dontOmitBlankAttribs=FALSE)
static writeFile($file, $content, $changePermissions=FALSE)
static isAllowedLinkVarValue($haystack, $needle)
const JQUERY_NAMESPACE_NONE
static forceIntegerInRange($theInt, $min, $max=2000000000, $defaultValue=0)
static intExplode($delimiter, $string, $removeEmptyValues=FALSE, $limit=0)
static getIndpEnv($getEnvName)
static getAbsoluteWebPath($targetPath)
static generatePageTitle()
static inline2TempFile($str, $ext)
static initializeSearchWordDataInTsfe()
static makeInstance($className)
static trimExplode($delim, $string, $removeEmptyValues=FALSE, $limit=0)
static stripIntObjectPlaceholder(&$searchString, &$intObjects)
stdWrap($content='', $conf=array())
static JSeventFunctions()
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
const JQUERY_NAMESPACE_DEFAULT_NOCONFLICT