‪TYPO3CMS  11.5
TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController Class Reference
Inheritance diagram for TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController:

Public Member Functions

 __construct (Context $context, SiteInterface $site, SiteLanguage $siteLanguage, PageArguments $pageArguments, FrontendUserAuthentication $frontendUser)
 
 setContentType ($contentType)
 
 initUserGroups ()
 
bool isUserOrGroupSet ()
 
 clear_preview ()
 
bool isBackendUserLoggedIn ()
 
 determineId (?ServerRequestInterface $request=null)
 
bool checkEnableFields ($row, $bypassGroupCheck=false)
 
bool checkPageGroupAccess ($row)
 
bool checkPagerecordForIncludeSection (array $row)
 
bool checkIfLoginAllowedInBranch ()
 
array getPageAccessFailureReasons (?string $failureReasonCode=null)
 
 getFromCache (?ServerRequestInterface $request=null)
 
array getFromCache_queryRow ()
 
bool headerNoCache (?ServerRequestInterface $request=null)
 
 getConfigArray (?ServerRequestInterface $request=null)
 
 calculateLinkVars (array $queryParams)
 
string null getRedirectUriForMountPoint (ServerRequestInterface $request)
 
string null getRedirectUriForShortcut (ServerRequestInterface $request)
 
bool isGeneratePage ()
 
 clearPageCacheContent ()
 
 releaseLocks ()
 
 addCacheTags (array $tags)
 
array getPageCacheTags ()
 
 generatePage_preProcessing ()
 
 preparePageContentGeneration (ServerRequestInterface $request)
 
 generatePage_postProcessing ()
 
string generatePageTitle ()
 
 INTincScript (?ServerRequestInterface $request=null)
 
 INTincScript_loadJSCode ()
 
bool isINTincScript ()
 
ResponseInterface applyHttpHeadersToResponse (ResponseInterface $response)
 
bool isStaticCacheble ()
 
 newCObj (?ServerRequestInterface $request=null)
 
string baseUrlWrap ($url)
 
 logDeprecatedTyposcript ($typoScriptProperty, $explanation='')
 
bool doWorkspacePreview ()
 
int whichWorkspace ()
 
array getPagesTSconfig ()
 
string uniqueHash ($str='')
 
 set_no_cache ($reason='', $internalRequest=false)
 
 set_cache_timeout_default ($seconds)
 
int get_cache_timeout ()
 
string sL ($input)
 
string convOutputCharset ($content)
 
int getRequestedId ()
 
 getLanguage ()
 
 getSite ()
 
 getContext ()
 
 getPageArguments ()
 

Static Public Member Functions

static TypoScriptFrontendController getGlobalInstance ()
 

Public Attributes

string int $id = ''
 
int string $type = ''
 
bool $no_cache = false
 
array $rootLine = array( )
 
array $page = array( )
 
int $contentPid = 0
 
PageRepository string $sys_page = ''
 
int $pageNotFound = 0
 
string $MP = ''
 
FrontendUserAuthentication $fe_user
 
int $simUserGroup = 0
 
array $config = array( )
 
TemplateService $tmpl
 
array $all = array( )
 
string $sPre = ''
 
array string $pSetup = ''
 
string $newHash = ''
 
array $additionalHeaderData = array( )
 
array $additionalFooterData = array( )
 
string $intTarget = ''
 
string $extTarget = ''
 
string $fileTarget = ''
 
string int $spamProtectEmailAddresses = 0
 
string $absRefPrefix = ''
 
string $sWordRegEx = ''
 
string $sWordList = ''
 
string $linkVars = ''
 
string $displayEditIcons = ''
 
string $displayFieldEditIcons = ''
 
array $applicationData = array( )
 
array $register = array( )
 
array $registerStack = array( )
 
int $cObjectDepthCounter = 50
 
array $recordRegister = array( )
 
string $currentRecord = ''
 
array $accessKey = array( )
 
string $indexedDocTitle = ''
 
string $baseUrl = ''
 
ContentObjectRenderer $cObj
 
string $content = ''
 
array $lastImgResourceInfo = null
 
string $metaCharset = 'utf-8'
 
string $xhtmlDoctype = ''
 
int $xhtmlVersion
 

Protected Member Functions

 initPageRenderer ()
 
 initCaches ()
 
 unsetBackendUser ()
 
string null applyPreviewSettings ($backendUser=null)
 
bool determineIdIsHiddenPage ()
 
 fetch_the_id (?ServerRequestInterface $request=null)
 
 getPageAndRootline (ServerRequestInterface $request)
 
 resolveTranslatedPageId ()
 
bool checkRootlineForIncludeSection ()
 
 getPageAndRootlineWithDomain ($rootPageId, ServerRequestInterface $request)
 
 setPageArguments (PageArguments $pageArguments)
 
array getRelevantParametersForCachingFromPageArguments (PageArguments $pageArguments)
 
 populatePageDataFromCache (array $cachedData)
 
 prepareDebugInformationForCachedPage (array $cachedData)
 
string getHash ()
 
string getLockHash ()
 
string createHashBase ($createLockHashBase=false)
 
 settingLanguage (ServerRequestInterface $request)
 
 updateRootLinesWithTranslations ()
 
 checkTranslatedShortcut (int $languageId, ServerRequestInterface $request)
 
array splitLinkVarsString (string $string)
 
bool isAllowedLinkVarValue (string $haystack, string $needle)
 
string getUriToCurrentPageForRedirect (ServerRequestInterface $request)
 
 realPageCacheContent ()
 
 setPageCacheContent ($content, $data, $expirationTstamp)
 
 setSysLastChanged ()
 
 setRegisterValueForSysLastChanged (array $page)
 
int resolveContentPid (ServerRequestInterface $request)
 
 initializeSearchWordData ($searchWords)
 
string printTitle (string $pageTitle, bool $noTitle=false, bool $showTitleFirst=false, string $pageTitleSeparator='')
 
string getWebsiteTitle ()
 
 recursivelyReplaceIntPlaceholdersInContent (ServerRequestInterface $request)
 
 processNonCacheableContentPartsAndSubstituteContentMarkers (array $nonCacheableData, ServerRequestInterface $request)
 
array getCacheHeaders ()
 
 setAbsRefPrefix ()
 
 disableCache ()
 
 setOutputLanguage ()
 
int calculatePageCacheTimeout ()
 
array getCurrentPageCacheConfiguration ()
 
int getFirstTimeValueForRecord ($tableDef, $now)
 
 acquireLock ($type, $key)
 
 releaseLock ($type)
 
 getAdditionalHeaders ()
 
 isInPreviewMode ()
 
 logPageAccessFailure (string $message, ServerRequestInterface $request)
 
FrontendBackendUserAuthentication null getBackendUser ()
 
TimeTracker getTimeTracker ()
 

Protected Attributes

SiteInterface $site
 
SiteLanguage $language
 
PageArguments $pageArguments
 
array null $originalMountPointPage
 
array null $originalShortcutPage
 
array $pageAccessFailureHistory = array( )
 
bool $loginAllowedInBranch = true
 
string $loginAllowedInBranch_mode = ''
 
int $cacheTimeOutDefault = 86400
 
bool $cacheContentFlag = false
 
int $cacheExpires = 0
 
bool $isClientCachable = false
 
bool $no_cacheBeforePageGen = false
 
array string $pagesTSconfig = ''
 
string $ATagParams = ''
 
int $uniqueCounter = 0
 
string $uniqueString = ''
 
LanguageService $languageService
 
LockingStrategyInterface[][] $locks = array( )
 
PageRenderer $pageRenderer
 
FrontendInterface $pageCache
 
array $pageCacheTags = array( )
 
string $contentType = 'text/html'
 
int $requestedId
 
Context $context
 
string $debugInformationHeader = ''
 

Private Member Functions

 initializeContext (Context $context)
 

Private Attributes

array $deprecatedPublicProperties
 

Detailed Description

Class for the built TypoScript based frontend. Instantiated in \TYPO3\CMS\Frontend\Http\RequestHandler as the global object TSFE.

Main frontend class, instantiated in \TYPO3\CMS\Frontend\Http\RequestHandler as the global object TSFE.

This class has a lot of functions and internal variable which are used from \TYPO3\CMS\Frontend\Http\RequestHandler

The class is instantiated as $GLOBALS['TSFE'] in \TYPO3\CMS\Frontend\Http\RequestHandler.

The use of this class should be inspired by the order of function calls as found in \TYPO3\CMS\Frontend\Http\RequestHandler.

Definition at line 103 of file TypoScriptFrontendController.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::__construct ( Context  $context,
SiteInterface  $site,
SiteLanguage  $siteLanguage,
PageArguments  $pageArguments,
FrontendUserAuthentication  $frontendUser 
)

Since TYPO3 v10.0, TSFE is composed out of

  • ‪Context
  • ‪Site
  • ‪SiteLanguage
  • ‪PageArguments (containing ID, Type, cHash and MP arguments)

Also sets a unique string (->uniqueString) for this script instance; A md5 hash of the microtime()

Parameters
Context$context‪the Context object to work with
SiteInterface$site‪The resolved site to work with
SiteLanguage$siteLanguage‪The resolved language to work with
PageArguments$pageArguments‪The PageArguments object containing Page ID, type and GET parameters
FrontendUserAuthentication$frontendUser‪a FrontendUserAuthentication object

Definition at line 557 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$site, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\initCaches(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\initializeContext(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\initPageRenderer(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\setOutputLanguage(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\setPageArguments().

Member Function Documentation

◆ acquireLock()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::acquireLock (   $type,
  $key 
)
protected

Acquire a page specific lock

The schematics here is:

  • ‪First acquire an access lock. This is using the type of the requested lock as key. Since the number of types is rather limited we can use the type as key as it will only eat up a limited number of lock resources on the system (files, semaphores)
  • ‪Second, we acquire the actual lock (named page lock). We can be sure we are the only process at this very moment, hence we either get the lock for the given key or we get an error as we request a non-blocking mode.

Interleaving two locks is extremely important, because the actual page lock uses a hash value as key (see callers of this function). If we would simply employ a normal blocking lock, we would get a potentially unlimited (number of pages at least) number of different locks. Depending on the available locking methods on the system we might run out of available resources. (e.g. maximum limit of semaphores is a system setting and applies to the whole system) We therefore must make sure that page locks are destroyed again if they are not used anymore, such that we never use more locking resources than parallel requests to different pages (hashes). In order to ensure this, we need to guarantee that no other process is waiting on a page lock when the process currently having the lock on the page lock is about to release the lock again. This can only be achieved by using a non-blocking mode, such that a process is never put into wait state by the kernel, but only checks the availability of the lock. The access lock is our guard to be sure that no two processes are at the same time releasing/destroying a page lock, whilst the other one tries to get a lock for this page lock. The only drawback of this implementation is that we basically have to poll the availability of the page lock.

Note that the access lock resources are NEVER deleted/destroyed, otherwise the whole thing would be broken.

Parameters
string$type
string$key
Exceptions

Definition at line 3433 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$type, TYPO3\CMS\Core\Locking\LockingStrategyInterface\LOCK_CAPABILITY_EXCLUSIVE, and TYPO3\CMS\Core\Locking\LockingStrategyInterface\LOCK_CAPABILITY_NOBLOCK.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getFromCache().

◆ addCacheTags()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::addCacheTags ( array  $tags)

Adds tags to this page's cache entry, you can then f.e. remove cache entries by tag

Parameters
array$tags‪An array of tag

Definition at line 2416 of file TypoScriptFrontendController.php.

◆ applyHttpHeadersToResponse()

ResponseInterface TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::applyHttpHeadersToResponse ( ResponseInterface  $response)

◆ applyPreviewSettings()

string null TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::applyPreviewSettings (   $backendUser = null)
protected

Evaluates admin panel or workspace settings to see if visibility settings like

  • Preview Aspect: isPreview
  • ‪Visibility Aspect: includeHiddenPages
  • ‪Visibility Aspect: includeHiddenContent
  • ‪$simUserGroup should be applied to the current object.
Parameters
FrontendBackendUserAuthentication$backendUser
Returns
‪string|null null if no changes to the current frontend usergroups have been made, otherwise the original list of frontend usergroups

Definition at line 747 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\determineIdIsHiddenPage(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\whichWorkspace().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\determineId().

◆ baseUrlWrap()

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::baseUrlWrap (   $url)

Prefixing the input URL with ->baseUrl If ->baseUrl is set and the input url is not absolute in some way. Designed as a wrapper functions for use with all frontend links that are processed by JavaScript (for "realurl" compatibility!). So each time a URL goes into window.open, window.location.href or otherwise, wrap it with this function!

Parameters
string$url‪Input URL, relative or absolute
Returns
‪string Processed input value.

Definition at line 3015 of file TypoScriptFrontendController.php.

◆ calculateLinkVars()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::calculateLinkVars ( array  $queryParams)

◆ calculatePageCacheTimeout()

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::calculatePageCacheTimeout ( )
protected

Calculates page cache timeout according to the records with starttime/endtime on the page.

Returns
‪int Page cache timeout or PHP_INT_MAX if cannot be determined

Definition at line 3262 of file TypoScriptFrontendController.php.

References $GLOBALS, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getCurrentPageCacheConfiguration(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getFirstTimeValueForRecord().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\get_cache_timeout().

◆ checkEnableFields()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::checkEnableFields (   $row,
  $bypassGroupCheck = false 
)

Checks page record for enableFields Returns TRUE if enableFields does not disable the page record. Takes notice of the includeHiddenPages visibility aspect flag and uses SIM_ACCESS_TIME for start/endtime evaluation

Parameters
array$row‪The page record to evaluate (needs fields: hidden, starttime, endtime, fe_group)
bool$bypassGroupCheck‪Bypass group-check
Returns
‪bool TRUE, if record is viewable.
See also
‪\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::getTreeList()
checkPagerecordForIncludeSection()

Definition at line 1310 of file TypoScriptFrontendController.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\checkPagerecordForIncludeSection().

◆ checkIfLoginAllowedInBranch()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::checkIfLoginAllowedInBranch ( )

Checks if logins are allowed in the current branch of the page tree. Traverses the full root line and returns TRUE if logins are OK, otherwise FALSE (and then the login user must be unset!)

Returns
‪bool returns TRUE if logins are OK, otherwise FALSE (and then the login user must be unset!)

Definition at line 1369 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\determineId().

◆ checkPageGroupAccess()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::checkPageGroupAccess (   $row)

Check group access against a page record

Parameters
array$row‪The page record to evaluate (needs field: fe_group)
Returns
‪bool TRUE, if group access is granted.

Definition at line 1336 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAccessFailureReasons().

◆ checkPagerecordForIncludeSection()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::checkPagerecordForIncludeSection ( array  $row)

Checks if the current page of the root line is visible.

If the field extendToSubpages is 0, access is granted, else the fields hidden, starttime, endtime, fe_group are evaluated.

Todo:
‪Find a better name, i.e. isVisibleRecord()
Parameters
array$row‪The page record
Returns
‪bool true if visible
See also
checkEnableFields()
‪\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::getTreeList()
checkRootlineForIncludeSection()

Definition at line 1359 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\checkEnableFields().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\checkRootlineForIncludeSection().

◆ checkRootlineForIncludeSection()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::checkRootlineForIncludeSection ( )
protected

Checks if visibility of the page is blocked upwards in the root line.

If any page in the root line is blocking visibility, true is returned.

All pages from the blocking page downwards are removed from the root line, so that the remaining pages can be used to relocate the page up to lowest visible page.

The blocking feature of a page must be turned on by setting the page record field 'extendToSubpages' to 1 in case of hidden, starttime, endtime or fe_group restrictions.

Additionally this method checks for backend user sections in root line and if found evaluates if a backend user is logged in and has access.

Recyclers are also checked and trigger page not found if found in root line.

Todo:

Find a better name, i.e. checkVisibilityByRootLine

Invert boolean return value. Return true if visible.

Returns
‪bool

Definition at line 1242 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\checkPagerecordForIncludeSection(), TYPO3\CMS\Core\Domain\Repository\PageRepository\DOKTYPE_BE_USER_SECTION, TYPO3\CMS\Core\Domain\Repository\PageRepository\DOKTYPE_RECYCLER, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\isBackendUserLoggedIn(), TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_SHOW, and TYPO3\CMS\Core\Database\Connection\PARAM_INT.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAndRootline().

◆ checkTranslatedShortcut()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::checkTranslatedShortcut ( int  $languageId,
ServerRequestInterface  $request 
)
protected

Checks whether a translated shortcut page has a different shortcut target than the original language page. If that is the case, things get corrected to follow that alternative shortcut

Parameters
int$languageId
ServerRequestInterface$request

Definition at line 2037 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\fetch_the_id().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\settingLanguage().

◆ clear_preview()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::clear_preview ( )

Clears the preview-flags, sets sim_exec_time to current time. Hidden pages must be hidden as default, $GLOBALS['SIM_EXEC_TIME'] is set to $GLOBALS['EXEC_TIME'] in bootstrap initializeGlobalTimeVariables(). Alter it by adding or subtracting seconds.

Definition at line 645 of file TypoScriptFrontendController.php.

References $GLOBALS, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\isInPreviewMode().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\determineId().

◆ clearPageCacheContent()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::clearPageCacheContent ( )

Clears cache content (for $this->newHash)

Definition at line 2354 of file TypoScriptFrontendController.php.

◆ convOutputCharset()

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::convOutputCharset (   $content)

Converts input string from utf-8 to metaCharset IF the two charsets are different.

Parameters
string$content‪Content to be converted.
Returns
‪string Converted content string.
Exceptions

Definition at line 3244 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$content.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\generatePage_postProcessing(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\INTincScript(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\processNonCacheableContentPartsAndSubstituteContentMarkers().

◆ createHashBase()

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::createHashBase (   $createLockHashBase = false)
protected

Calculates the cache-hash (or the lock-hash) This hash is unique to the template, the variables ->id, ->type, list of frontend user groups, ->MP (Mount Points) and cHash array Used to get and later store the cached data.

Parameters
bool$createLockHashBase‪Whether to create the lock hash, which doesn't contain the "this->all" (the template information)
Returns
‪string the serialized hash base

Definition at line 1724 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$all, $GLOBALS, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$MP, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$type, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getRelevantParametersForCachingFromPageArguments().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getHash(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getLockHash().

◆ determineId()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::determineId ( ?ServerRequestInterface  $request = null)

◆ determineIdIsHiddenPage()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::determineIdIsHiddenPage ( )
protected

◆ disableCache()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::disableCache ( )
protected

◆ doWorkspacePreview()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::doWorkspacePreview ( )

◆ fetch_the_id()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::fetch_the_id ( ?ServerRequestInterface  $request = null)
protected

Resolves the page id and sets up several related properties.

If $this->id is not set at all or is not a plain integer, the method does it's best to set the value to an integer. Resolving is based on this options:

  • ‪Splitting $this->id if it contains an additional type parameter.
  • ‪Finding the domain record start page
  • ‪First visible page
  • ‪Relocating the id below the domain record if outside

The following properties may be set up or updated:

  • ‪id
  • ‪requestedId
  • ‪type
  • ‪sys_page
  • ‪sys_page->where_groupAccess
  • ‪sys_page->where_hid_del
  • ‪Context: FrontendUser Aspect
  • ‪no_cache
  • ‪register['SYS_LASTCHANGED']
  • ‪pageNotFound

Via getPageAndRootlineWithDomain()

  • ‪rootLine
  • ‪page
  • ‪MP
  • ‪originalShortcutPage
  • ‪originalMountPointPage
  • ‪pageAccessFailureHistory['direct_access']
  • pageNotFound

    Todo:
    :

On the first impression the method does to much. This is increased by the fact, that is is called repeated times by the method determineId. The reasons are manifold.

1.) The first part, the creation of sys_page and the type resolution don't need to be repeated. They could be separated to be called only once.

2.) The user group setup could be done once on a higher level.

3.) The workflow of the resolution could be elaborated to be less tangled. Maybe the check of the page id to be below the domain via the root line doesn't need to be done each time, but for the final result only.

4.) The root line does not need to be directly addressed by this class. A root line is always related to one page. The rootline could be handled indirectly by page objects. Page objects still don't exist.

Parameters
ServerRequestInterface | null$request

Definition at line 898 of file TypoScriptFrontendController.php.

References $GLOBALS, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$id, TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\ACCESS_DENIED_HOST_PAGE_MISMATCH, TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\ACCESS_DENIED_PAGE_NOT_RESOLVED, TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\ACCESS_DENIED_SUBSECTION_NOT_RESOLVED, TYPO3\CMS\Core\Http\ServerRequestFactory\fromGlobals(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAccessFailureReasons(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAndRootlineWithDomain(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getTimeTracker(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\initUserGroups(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\setRegisterValueForSysLastChanged().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\checkTranslatedShortcut(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\determineId().

◆ generatePage_postProcessing()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::generatePage_postProcessing ( )

◆ generatePage_preProcessing()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::generatePage_preProcessing ( )

Does some processing BEFORE the page content is generated / built.

Definition at line 2437 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$no_cache, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getHash().

◆ generatePageTitle()

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::generatePageTitle ( )

Generate the page title, can be called multiple times, as PageTitleProvider might have been modified by an uncached plugin etc.

Returns
‪string the generated page title

Definition at line 2602 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\printTitle().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\INTincScript(), and TYPO3\CMS\Frontend\Http\RequestHandler\processHtmlBasedRenderingSettings().

◆ get_cache_timeout()

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::get_cache_timeout ( )

◆ getAdditionalHeaders()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getAdditionalHeaders ( )
protected

Send additional headers from config.additionalHeaders

Definition at line 3497 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\applyHttpHeadersToResponse().

◆ getBackendUser()

FrontendBackendUserAuthentication null TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getBackendUser ( )
protected

Returns the current BE user.

Returns
‪FrontendBackendUserAuthentication|null

Definition at line 3550 of file TypoScriptFrontendController.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\determineId().

◆ getCacheHeaders()

◆ getConfigArray()

◆ getContext()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getContext ( )

◆ getCurrentPageCacheConfiguration()

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getCurrentPageCacheConfiguration ( )
protected

Obtains a list of table/pid pairs to consider for page caching.

TS configuration looks like this:

The cache lifetime of all pages takes starttime and endtime of news records of page 14 into account: config.cache.all = tt_news:14

The cache.lifetime of the current page allows to take records (e.g. fe_users) into account: config.cache.all = fe_users:current

The cache lifetime of page 42 takes starttime and endtime of news records of page 15 and addresses of page 16 into account: config.cache.42 = tt_news:15,tt_address:16

Returns
‪array Array of 'tablename:pid' pairs. There is at least a current page id in the array
See also
TypoScriptFrontendController::calculatePageCacheTimeout()

Definition at line 3297 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$id, and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\calculatePageCacheTimeout().

◆ getFirstTimeValueForRecord()

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getFirstTimeValueForRecord (   $tableDef,
  $now 
)
protected

Find the minimum starttime or endtime value in the table and pid that is greater than the current time.

Parameters
string$tableDef‪Table definition (format tablename:pid)
int$now‪"Now" time value
Exceptions

Definition at line 3318 of file TypoScriptFrontendController.php.

References if, TYPO3\CMS\Core\Database\Connection\PARAM_INT, and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\calculatePageCacheTimeout().

◆ getFromCache()

◆ getFromCache_queryRow()

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getFromCache_queryRow ( )

◆ getGlobalInstance()

static TypoScriptFrontendController TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getGlobalInstance ( )
static

Return the global instance of this class.

Intended to be used as prototype factory for this class, see Services.yaml. This is required as long as TypoScriptFrontendController needs request dependent constructor parameters. Once that has been refactored this factory will be removed.

Returns
TypoScriptFrontendController

Definition at line 3574 of file TypoScriptFrontendController.php.

References $GLOBALS, and TYPO3\CMS\Core\Http\ApplicationType\fromRequest().

◆ getHash()

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getHash ( )
protected

Calculates the cache-hash This hash is unique to the template, the variables ->id, ->type, list of fe user groups, ->MP (Mount Points) and cHash array Used to get and later store the cached data.

Returns
‪string MD5 hash of serialized hash base from createHashBase(), prefixed with page id
See also
getFromCache()
getLockHash()

Definition at line 1695 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\createHashBase().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\generatePage_preProcessing(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getFromCache().

◆ getLanguage()

◆ getLockHash()

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getLockHash ( )
protected

Calculates the lock-hash This hash is unique to the above hash, except that it doesn't contain the template information in $this->all.

Returns
‪string MD5 hash prefixed with page id
See also
getFromCache()
getHash()

Definition at line 1708 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\createHashBase().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getFromCache().

◆ getPageAccessFailureReasons()

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getPageAccessFailureReasons ( ?string  $failureReasonCode = null)

Analysing $this->pageAccessFailureHistory into a summary array telling which features disabled display and on which pages and conditions. That data can be used inside a page-not-found handler

Parameters
string$failureReasonCode‪the error code to be attached (optional), see PageAccessFailureReasons list for details
Returns
‪array Summary of why page access was not allowed.

Definition at line 1399 of file TypoScriptFrontendController.php.

References $GLOBALS, $output, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\checkPageGroupAccess().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\fetch_the_id(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAndRootline(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getRedirectUriForShortcut().

◆ getPageAndRootline()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getPageAndRootline ( ServerRequestInterface  $request)
protected

Loads the page and root line records based on $this->id

A final page and the matching root line are determined and loaded by the algorithm defined by this method.

First it loads the initial page from the page repository for $this->id. If that can't be loaded directly, it gets the root line for $this->id. It walks up the root line towards the root page until the page repository can deliver a page record. (The loading restrictions of the root line records are more liberal than that of the page record.)

Now the page type is evaluated and handled if necessary. If the page is a short cut, it is replaced by the target page. If the page is a mount point in overlay mode, the page is replaced by the mounted page.

After this potential replacements are done, the root line is loaded (again) for this page record. It walks up the root line up to the first viewable record.

(While upon the first accessibility check of the root line it was done by loading page by page from the page repository, this time the method checkRootlineForIncludeSection() is used to find the most distant accessible page within the root line.)

Having found the final page id, the page record and the root line are loaded for last time by this method.

Exceptions may be thrown for DOKTYPE_SPACER and not loadable page records or root lines.

May set or update this properties:

See also
TypoScriptFrontendController::$id
TypoScriptFrontendController::$MP
TypoScriptFrontendController::$page
TypoScriptFrontendController::$pageNotFound
TypoScriptFrontendController::$pageAccessFailureHistory
TypoScriptFrontendController::$originalMountPointPage
TypoScriptFrontendController::$originalShortcutPage
Exceptions

Definition at line 1013 of file TypoScriptFrontendController.php.

References $GLOBALS, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$page, TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\ACCESS_DENIED_INVALID_PAGETYPE, TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\ACCESS_DENIED_SUBSECTION_NOT_RESOLVED, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\checkRootlineForIncludeSection(), TYPO3\CMS\Core\Domain\Repository\PageRepository\DOKTYPE_MOUNTPOINT, TYPO3\CMS\Core\Domain\Repository\PageRepository\DOKTYPE_SHORTCUT, TYPO3\CMS\Core\Domain\Repository\PageRepository\DOKTYPE_SPACER, TYPO3\CMS\Core\Domain\Repository\PageRepository\DOKTYPE_SYSFOLDER, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAccessFailureReasons(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\isBackendUserLoggedIn(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\logPageAccessFailure(), TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\PAGE_NOT_FOUND, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\resolveTranslatedPageId(), and TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\ROOTLINE_BROKEN.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAndRootlineWithDomain().

◆ getPageAndRootlineWithDomain()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getPageAndRootlineWithDomain (   $rootPageId,
ServerRequestInterface  $request 
)
protected

Gets ->page and ->rootline information based on ->id. ->id may change during this operation. If not inside a site, then default to first page in site.

Parameters
int$rootPageIdPage uid of the page where the found site is located

Definition at line 1439 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAndRootline().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\fetch_the_id().

◆ getPageArguments()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getPageArguments ( )

◆ getPageCacheTags()

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getPageCacheTags ( )

◆ getPagesTSconfig()

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getPagesTSconfig ( )

Returns the pages TSconfig array based on the current ->rootLine

Returns
‪array

Definition at line 3076 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$pagesTSconfig, and $parser.

◆ getRedirectUriForMountPoint()

string null TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getRedirectUriForMountPoint ( ServerRequestInterface  $request)

Returns URI of target page, if the current page is an overlaid mountpoint.

If the current page is of type mountpoint and should be overlaid with the contents of the mountpoint page and is accessed directly, the user will be redirected to the mountpoint context.

Parameters
ServerRequestInterface$request
Returns
‪string|null

Definition at line 2206 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Core\Domain\Repository\PageRepository\DOKTYPE_MOUNTPOINT, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getUriToCurrentPageForRedirect().

◆ getRedirectUriForShortcut()

string null TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getRedirectUriForShortcut ( ServerRequestInterface  $request)

Returns URI of target page, if the current page is a Shortcut.

If the current page is of type shortcut and accessed directly via its URL, the user will be redirected to shortcut target.

Parameters
ServerRequestInterface$request
Returns
‪string|null

Definition at line 2225 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$site, TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\ACCESS_DENIED_HOST_PAGE_MISMATCH, TYPO3\CMS\Core\Domain\Repository\PageRepository\DOKTYPE_SHORTCUT, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAccessFailureReasons(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getUriToCurrentPageForRedirect().

◆ getRelevantParametersForCachingFromPageArguments()

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getRelevantParametersForCachingFromPageArguments ( PageArguments  $pageArguments)
protected

Fetches the arguments that are relevant for creating the hash base from the given PageArguments object. Excluded parameters are not taken into account when calculating the hash base.

Parameters
PageArguments$pageArguments
Returns
‪array

Definition at line 1494 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$pageArguments, TYPO3\CMS\Core\Utility\HttpUtility\buildQueryString(), and TYPO3\CMS\Core\Routing\PageArguments\getPageId().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\createHashBase().

◆ getRequestedId()

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getRequestedId ( )

Fetches the originally requested id, falls back to $this->id

Returns
‪int the originally requested page uid
See also
fetch_the_id()

Definition at line 3394 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$id.

◆ getSite()

◆ getTimeTracker()

◆ getUriToCurrentPageForRedirect()

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getUriToCurrentPageForRedirect ( ServerRequestInterface  $request)
protected

◆ getWebsiteTitle()

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getWebsiteTitle ( )
protected

◆ headerNoCache()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::headerNoCache ( ?ServerRequestInterface  $request = null)

Detecting if shift-reload has been clicked Will not be called if re-generation of page happens by other reasons (for instance that the page is not in cache yet!) Also, a backend user MUST be logged in for the shift-reload to be detected due to DoS-attack-security reasons.

Parameters
ServerRequestInterface | null$request
Returns
‪bool If shift-reload in client browser has been clicked, disable getting cached page (and regenerate it).

Definition at line 1665 of file TypoScriptFrontendController.php.

References $GLOBALS, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\isBackendUserLoggedIn().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getFromCache().

◆ initCaches()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::initCaches ( )
protected

Initializes the caching system.

Definition at line 613 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\__construct().

◆ initializeContext()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::initializeContext ( Context  $context)
private

◆ initializeSearchWordData()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::initializeSearchWordData (   $searchWords)
protected

Fills the sWordList property and builds the regular expression in TSFE that can be used to split strings by the submitted search words.

Parameters
mixed$searchWords‪- usually an array, but we can't be sure (yet)
See also
‪sWordList
‪sWordRegEx

Definition at line 2545 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\preparePageContentGeneration().

◆ initPageRenderer()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::initPageRenderer ( )
protected

◆ initUserGroups()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::initUserGroups ( )

Initializes the front-end user groups. Sets frontend.user aspect based on front-end user status.

Definition at line 622 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\fetch_the_id().

◆ INTincScript()

◆ INTincScript_loadJSCode()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::INTincScript_loadJSCode ( )

Loads the JavaScript/CSS code for INTincScript, if there are non-cacheable content objects it prepares the placeholders, otherwise populates options directly.

this method should be renamed as it does not only handle JS, but all additional header data

Definition at line 2812 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$additionalFooterData, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$additionalHeaderData, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\isINTincScript(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\uniqueHash().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\INTincScript(), and TYPO3\CMS\Frontend\Http\RequestHandler\processHtmlBasedRenderingSettings().

◆ isAllowedLinkVarValue()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::isAllowedLinkVarValue ( string  $haystack,
string  $needle 
)
protected

Checks if the value defined in "config.linkVars" contains an allowed value. Otherwise, return FALSE which means the value will not be added to any links.

Parameters
string$haystack‪The string in which to find $needle
string$needle‪The string to find in $haystack
Returns
‪bool Returns TRUE if $needle matches or is found in $haystack

Definition at line 2162 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\calculateLinkVars().

◆ isBackendUserLoggedIn()

◆ isGeneratePage()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::isGeneratePage ( )

Returns TRUE if the page should be generated. That is if no URL handler is active and the cacheContentFlag is not set.

Returns
‪bool

Definition at line 2283 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$cacheContentFlag.

◆ isInPreviewMode()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::isInPreviewMode ( )
protected

◆ isINTincScript()

◆ isStaticCacheble()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::isStaticCacheble ( )

Reporting status whether we can send cache control headers for proxy caching or publishing to static files

Rules are: no_cache cannot be set: If it is, the page might contain dynamic content and should never be cached. There can be no USER_INT objects on the page ("isINTincScript()") because they implicitly indicate dynamic content There can be no logged in user because user sessions are based on a cookie and thereby does not offer client caching a chance to know if the user is logged in. Actually, there will be a reverse problem here; If a page will somehow change when a user is logged in he may not see it correctly if the non-login version sent a cache-header! So do NOT use cache headers in page sections where user logins change the page content. (unless using such as realurl to apply a prefix in case of login sections)

Returns
‪bool

Definition at line 2946 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\isINTincScript(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\isUserOrGroupSet().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getCacheHeaders().

◆ isUserOrGroupSet()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::isUserOrGroupSet ( )

Checking if a user is logged in or a group constellation different from "0,-1"

Returns
‪bool TRUE if either a login user is found (array fe_user->user) OR if the gr_list is set to something else than '0,-1' (could be done even without a user being logged in!)

Definition at line 633 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\determineId(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\isStaticCacheble().

◆ logDeprecatedTyposcript()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::logDeprecatedTyposcript (   $typoScriptProperty,
  $explanation = '' 
)

Logs access to deprecated TypoScript objects and properties.

Dumps message to the TypoScript message log (admin panel) and the TYPO3 deprecation log.

Parameters
string$typoScriptProperty‪Deprecated object or property
string$explanation‪Message or additional information

Definition at line 3034 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getTimeTracker(), and TYPO3\CMS\Core\TimeTracker\TimeTracker\setTSlogMessage().

◆ logPageAccessFailure()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::logPageAccessFailure ( string  $message,
ServerRequestInterface  $request 
)
protected

Log the page access failure with additional request information

Parameters
string$message
ServerRequestInterface$request

Definition at line 3536 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$context, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$id.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAndRootline().

◆ newCObj()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::newCObj ( ?ServerRequestInterface  $request = null)

Creates an instance of ContentObjectRenderer in $this->cObj This instance is used to start the rendering of the TypoScript template structure

Parameters
ServerRequestInterface | null$request

Definition at line 2962 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\preparePageContentGeneration().

◆ populatePageDataFromCache()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::populatePageDataFromCache ( array  $cachedData)
protected

This method properly sets the values given from the pages cache into the corresponding TSFE variables. The counterpart is setPageCacheContent() where all relevant information is fetched. This also contains all data that could be cached, even for pages that are partially cached, as they have non-cacheable content still to be rendered.

See also
getFromCache()
setPageCacheContent()
Parameters
array$cachedData

Definition at line 1616 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$contentType, $GLOBALS, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\prepareDebugInformationForCachedPage().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getFromCache().

◆ prepareDebugInformationForCachedPage()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::prepareDebugInformationForCachedPage ( array  $cachedData)
protected

◆ preparePageContentGeneration()

◆ printTitle()

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::printTitle ( string  $pageTitle,
bool  $noTitle = false,
bool  $showTitleFirst = false,
string  $pageTitleSeparator = '' 
)
protected

Compiles the content for the page <title> tag.

Parameters
string$pageTitle‪The input title string, typically the "title" field of a page's record.
bool$noTitle‪If set, then only the site title is outputted
bool$showTitleFirst‪If set, then website title and $title is swapped
string$pageTitleSeparator‪an alternative to the ": " as the separator between site title and page title
Returns
‪string The page title on the form "[website title]: [input-title]". Not htmlspecialchar()'ed.
See also
generatePageTitle()

Definition at line 2651 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getWebsiteTitle().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\generatePageTitle().

◆ processNonCacheableContentPartsAndSubstituteContentMarkers()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::processNonCacheableContentPartsAndSubstituteContentMarkers ( array  $nonCacheableData,
ServerRequestInterface  $request 
)
protected

Processes the INTinclude-scripts and substitute in content.

Takes $this->content, and splits the content by and then puts the content back together.

Parameters
array$nonCacheableData‪$GLOBALS['TSFE']->config['INTincScript'] or part of it
See also
INTincScript()

Definition at line 2760 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\convOutputCharset(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getTimeTracker().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\recursivelyReplaceIntPlaceholdersInContent().

◆ realPageCacheContent()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::realPageCacheContent ( )
protected

◆ recursivelyReplaceIntPlaceholdersInContent()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::recursivelyReplaceIntPlaceholdersInContent ( ServerRequestInterface  $request)
protected

Replaces INT placeholders (COA_INT and USER_INT) in $this->content In case the replacement adds additional placeholders, it loops until no new placeholders are found any more.

Definition at line 2739 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\processNonCacheableContentPartsAndSubstituteContentMarkers().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\INTincScript().

◆ releaseLock()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::releaseLock (   $type)
protected

◆ releaseLocks()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::releaseLocks ( )

◆ resolveContentPid()

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::resolveContentPid ( ServerRequestInterface  $request)
protected

Check the value of "content_from_pid" of the current page record, and see if the current request should actually show content from another page.

By using $TSFE->getPageAndRootline() on the cloned object, all rootline restrictions (extendToSubPages) are evaluated as well.

Parameters
ServerRequestInterface$request
Returns
‪int the current page ID or another one if resolved properly - usually set to $this->contentPid

Definition at line 2457 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$id.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\preparePageContentGeneration().

◆ resolveTranslatedPageId()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::resolveTranslatedPageId ( )
protected

If $this->id contains a translated page record, this needs to be resolved to the default language in order for all rootline functionality and access restrictions to be in place further on.

Additionally, if a translated page is found, LanguageAspect is set as well.

Definition at line 1205 of file TypoScriptFrontendController.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAndRootline().

◆ set_cache_timeout_default()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::set_cache_timeout_default (   $seconds)

Sets the cache-timeout in seconds

Parameters
int$seconds‪Cache-timeout in seconds

Definition at line 3159 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getConfigArray().

◆ set_no_cache()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::set_no_cache (   $reason = '',
  $internalRequest = false 
)

◆ setAbsRefPrefix()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::setAbsRefPrefix ( )
protected

◆ setContentType()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::setContentType (   $contentType)
Parameters
string$contentType

Must only be used by TYPO3 core

Definition at line 600 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$contentType.

◆ setOutputLanguage()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::setOutputLanguage ( )
protected

Sets all internal measures what language the page should be rendered. This is not for records, but rather the HTML / charset and the locallang labels

Definition at line 3230 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\__construct().

◆ setPageArguments()

◆ setPageCacheContent()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::setPageCacheContent (   $content,
  $data,
  $expirationTstamp 
)
protected

◆ setRegisterValueForSysLastChanged()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::setRegisterValueForSysLastChanged ( array  $page)
protected

Set the SYS_LASTCHANGED register value, is also called when a translated page is in use, so the register reflects the state of the translated page, not the page in the default language.

Parameters
array$page

Definition at line 2391 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$page.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\fetch_the_id(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\settingLanguage().

◆ setSysLastChanged()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::setSysLastChanged ( )
protected

Sets sys last changed Setting the SYS_LASTCHANGED value in the pagerecord: This value will thus be set to the highest tstamp of records rendered on the page. This includes all records with no regard to hidden records, userprotection and so on.

See also
‪ContentObjectRenderer::lastChanged()

Definition at line 2365 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$id, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\doWorkspacePreview().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\generatePage_postProcessing().

◆ settingLanguage()

◆ sL()

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::sL (   $input)

Split Label function for front-end applications.

Parameters
string$input‪Key string. Accepts the "LLL:" prefix.
Returns
‪string Label value, if any.

Definition at line 3221 of file TypoScriptFrontendController.php.

◆ splitLinkVarsString()

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::splitLinkVarsString ( string  $string)
protected

Split the link vars string by "," but not if the "," is inside of braces

Parameters
string$string
Returns
‪array

Definition at line 2139 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\calculateLinkVars().

◆ uniqueHash()

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::uniqueHash (   $str = '')

Returns a unique md5 hash. There is no special magic in this, the only point is that you don't have to call md5(uniqid()) which is slow and by this you are sure to get a unique string each time in a little faster way.

Parameters
string$str‪Some string to include in what is hashed. Not significant at all.
Returns
‪string MD5 hash of ->uniqueString, input string and uniqueCounter

Definition at line 3103 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\INTincScript_loadJSCode().

◆ unsetBackendUser()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::unsetBackendUser ( )
protected

◆ updateRootLinesWithTranslations()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::updateRootLinesWithTranslations ( )
protected

Updating content of the two rootLines IF the language key is set!

Definition at line 2020 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\settingLanguage().

◆ whichWorkspace()

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::whichWorkspace ( )

Returns the uid of the current workspace

Returns
‪int returns workspace integer for which workspace is being preview. 0 if none (= live workspace).

Definition at line 3060 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\applyPreviewSettings(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\determineIdIsHiddenPage(), and TYPO3\CMS\Workspaces\Middleware\WorkspacePreview\renderPreviewInfo().

Member Data Documentation

◆ $absRefPrefix

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$absRefPrefix = ''

Absolute Reference prefix

Definition at line 344 of file TypoScriptFrontendController.php.

◆ $accessKey

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$accessKey = array( )

Used by class \TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject to keep track of access-keys.

Definition at line 430 of file TypoScriptFrontendController.php.

◆ $additionalFooterData

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$additionalFooterData = array( )

Used to accumulate additional HTML-code for the footer-section of the template

Definition at line 319 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\INTincScript_loadJSCode().

◆ $additionalHeaderData

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$additionalHeaderData = array( )

Eg. insert JS-functions in this array ($additionalHeaderData) to include them once. Use associative keys.

Keys in use:

used to accumulate additional HTML-code for the header-section, <head>...</head>. Insert either associative keys (like additionalHeaderData['myStyleSheet'], see reserved keys above) or num-keys (like additionalHeaderData[] = '...')

Definition at line 314 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\INTincScript_loadJSCode().

◆ $all

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$all = array( )

Used by template fetching system. This array is an identification of the template. If $this->all is empty it's because the template-data is not cached, which it must be.

Definition at line 265 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\createHashBase().

◆ $applicationData

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$applicationData = array( )

'Global' Storage for various applications. Keys should be 'tx_'.extKey for extensions.

Definition at line 393 of file TypoScriptFrontendController.php.

◆ $ATagParams

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$ATagParams = ''
protected

-tag parameters

Deprecated:
‪will be removed in TYPO3 v12.0. Use TSFE->config[config][ATagParams] directly.

Definition at line 350 of file TypoScriptFrontendController.php.

◆ $baseUrl

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$baseUrl = ''

The base URL set for the page header.

Definition at line 454 of file TypoScriptFrontendController.php.

◆ $cacheContentFlag

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$cacheContentFlag = false
protected

Set internally if cached content is fetched from the database.

Definition at line 245 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\isGeneratePage().

◆ $cacheExpires

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$cacheExpires = 0
protected

Set to the expire time of cached content

Definition at line 251 of file TypoScriptFrontendController.php.

◆ $cacheTimeOutDefault

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$cacheTimeOutDefault = 86400
protected

Is set to the time-to-live time of cached pages. Default is 60*60*24, which is 24 hours.

Definition at line 238 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\get_cache_timeout().

◆ $cObj

ContentObjectRenderer TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$cObj

Page content render object

Definition at line 460 of file TypoScriptFrontendController.php.

◆ $cObjectDepthCounter

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$cObjectDepthCounter = 50

Checking that the function is not called eternally. This is done by interrupting at a depth of 50

Deprecated:
‪since v11, will be removed in v12.

Definition at line 410 of file TypoScriptFrontendController.php.

◆ $config

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$config = array( )

"CONFIG" object from TypoScript. Array generated based on the TypoScript configuration of the current page. Saved with the cached pages.

Definition at line 225 of file TypoScriptFrontendController.php.

◆ $content

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$content = ''

◆ $contentPid

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$contentPid = 0

This will normally point to the same value as id, but can be changed to point to another page from which content will then be displayed instead.

Definition at line 157 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\setPageCacheContent().

◆ $contentType

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$contentType = 'text/html'
protected

Content type HTTP header being sent in the request.

Todo:
‪Ticket: #63642 Should be refactored to a request/response model later

Should only be used by TYPO3 core for now

Definition at line 511 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\populatePageDataFromCache(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\setContentType(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\setPageCacheContent().

◆ $context

◆ $currentRecord

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$currentRecord = ''

This is set to the [table]:[uid] of the latest record rendered. Note that class ContentObjectRenderer has an equal value, but that is pointing to the record delivered in the $data-array of the ContentObjectRenderer instance, if the cObjects CONTENT or RECORD created that instance

Definition at line 424 of file TypoScriptFrontendController.php.

◆ $debugInformationHeader

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$debugInformationHeader = ''
protected

If debug mode is enabled, this contains the information if a page is fetched from cache, and sent as HTTP Response Header.

Definition at line 540 of file TypoScriptFrontendController.php.

◆ $deprecatedPublicProperties

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$deprecatedPublicProperties
private
Initial value:
= [
'ATagParams' => 'Using ATagParams will not be possible anymore in TYPO3 v12.0. Use TSFE->config[config][ATagParams] instead.',
]

List previously publicly accessible variables

Definition at line 110 of file TypoScriptFrontendController.php.

◆ $displayEditIcons

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$displayEditIcons = ''

If set, edit icons are rendered aside content records. Must be set only if the ->beUserLogin flag is set and set_no_cache() must be called as well.

Deprecated:
‪since v11, will be removed with v12. Drop together with editPanel removal.

Definition at line 379 of file TypoScriptFrontendController.php.

◆ $displayFieldEditIcons

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$displayFieldEditIcons = ''

If set, edit icons are rendered aside individual fields of content. Must be set only if the ->beUserLogin flag is set and set_no_cache() must be called as well.

Deprecated:
‪since v11, will be removed with v12. Drop together with editIcons removal.

Definition at line 387 of file TypoScriptFrontendController.php.

◆ $extTarget

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$extTarget = ''

Default external target

Definition at line 329 of file TypoScriptFrontendController.php.

◆ $fe_user

FrontendUserAuthentication TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$fe_user

The frontend user

Definition at line 202 of file TypoScriptFrontendController.php.

◆ $fileTarget

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$fileTarget = ''

Default file link target

Definition at line 334 of file TypoScriptFrontendController.php.

◆ $id

◆ $indexedDocTitle

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$indexedDocTitle = ''

This value will be used as the title for the page in the indexer (if indexing happens)

only used by TYPO3 Core, use PageTitle API instead.

Definition at line 449 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\setPageCacheContent().

◆ $intTarget

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$intTarget = ''

Default internal target

Definition at line 324 of file TypoScriptFrontendController.php.

◆ $isClientCachable

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$isClientCachable = false
protected

Set if cache headers allowing caching are sent.

Definition at line 257 of file TypoScriptFrontendController.php.

◆ $language

SiteLanguage TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$language
protected

◆ $languageService

LanguageService TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$languageService
protected

Internal calculations for labels

Definition at line 484 of file TypoScriptFrontendController.php.

◆ $lastImgResourceInfo

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$lastImgResourceInfo = null

Info-array of the last resulting image resource of content object IMG_RESOURCE (if any), containing width, height and so on.

Definition at line 471 of file TypoScriptFrontendController.php.

◆ $linkVars

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$linkVars = ''

A string prepared for insertion in all links on the page as url-parameters. Based on configuration in TypoScript where you defined which GET_VARS you would like to pass on.

Definition at line 372 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\calculateLinkVars().

◆ $locks

LockingStrategyInterface [][] TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$locks = array( )
protected

Definition at line 488 of file TypoScriptFrontendController.php.

◆ $loginAllowedInBranch

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$loginAllowedInBranch = true
protected

Shows whether logins are allowed in branch

Definition at line 207 of file TypoScriptFrontendController.php.

◆ $loginAllowedInBranch_mode

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$loginAllowedInBranch_mode = ''
protected

Shows specific mode (all or groups)

Definition at line 213 of file TypoScriptFrontendController.php.

◆ $metaCharset

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$metaCharset = 'utf-8'

Output charset of the websites content. This is the charset found in the header, meta tag etc. If different than utf-8 a conversion happens before output to browser. Defaults to utf-8.

Definition at line 478 of file TypoScriptFrontendController.php.

◆ $MP

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$MP = ''

◆ $newHash

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$newHash = ''

This hash is unique to the template, the $this->id and $this->type vars and the list of groups. Used to get and later store the cached data

Definition at line 285 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\setPageCacheContent().

◆ $no_cache

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$no_cache = false

Page will not be cached. Write only TRUE. Never clear value (some other code might have reasons to set it TRUE).

Definition at line 141 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\generatePage_preProcessing().

◆ $no_cacheBeforePageGen

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$no_cacheBeforePageGen = false
protected

This flag is set before the page is generated IF $this->no_cache is set. If this flag is set after the page content was generated, $this->no_cache is forced to be set. This is done in order to make sure that PHP code from Plugins / USER scripts does not falsely clear the no_cache flag.

Definition at line 294 of file TypoScriptFrontendController.php.

◆ $originalMountPointPage

array null TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$originalMountPointPage
protected

Gets set when we are processing a page of type mounpoint with enabled overlay in getPageAndRootline() Used later in checkPageForMountpointRedirect() to determine the final target URL where the user should be redirected to.

Definition at line 165 of file TypoScriptFrontendController.php.

◆ $originalShortcutPage

array null TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$originalShortcutPage
protected

Gets set when we are processing a page of type shortcut in the early stages of the request when we do not know about languages yet, used later in the request to determine the correct shortcut in case a translation changes the shortcut target

See also
checkTranslatedShortcut()

Definition at line 174 of file TypoScriptFrontendController.php.

◆ $page

◆ $pageAccessFailureHistory

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$pageAccessFailureHistory = array( )
protected

Array containing a history of why a requested page was not accessible.

Definition at line 191 of file TypoScriptFrontendController.php.

◆ $pageArguments

◆ $pageCache

FrontendInterface TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$pageCache
protected

The page cache object, use this to save pages to the cache and to retrieve them again

Definition at line 499 of file TypoScriptFrontendController.php.

◆ $pageCacheTags

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$pageCacheTags = array( )
protected

◆ $pageNotFound

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$pageNotFound = 0

Is set to 1 if a pageNotFound handler could have been called.

Definition at line 186 of file TypoScriptFrontendController.php.

◆ $pageRenderer

PageRenderer TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$pageRenderer
protected

◆ $pagesTSconfig

array string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$pagesTSconfig = ''
protected

May be set to the pagesTSconfig

Definition at line 300 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPagesTSconfig().

◆ $pSetup

array string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$pSetup = ''

TypoScript configuration of the page-object pointed to by sPre. $this->tmpl->setup[$this->sPre.'.']

should only be used by TYPO3 Core

Definition at line 278 of file TypoScriptFrontendController.php.

◆ $recordRegister

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$recordRegister = array( )

Used by RecordContentObject and ContentContentObject to ensure the a records is NOT rendered twice through it!

Definition at line 416 of file TypoScriptFrontendController.php.

◆ $register

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$register = array( )

Definition at line 397 of file TypoScriptFrontendController.php.

◆ $registerStack

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$registerStack = array( )

Stack used for storing array and retrieving register arrays (see LOAD_REGISTER and RESTORE_REGISTER)

Definition at line 403 of file TypoScriptFrontendController.php.

◆ $requestedId

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$requestedId
protected

Originally requested id from the initial $_GET variable

Definition at line 527 of file TypoScriptFrontendController.php.

◆ $rootLine

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$rootLine = array( )

The rootLine (all the way to tree root, not only the current site!)

Definition at line 146 of file TypoScriptFrontendController.php.

◆ $simUserGroup

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$simUserGroup = 0

Value that contains the simulated usergroup if any

only to be used in AdminPanel, and within TYPO3 Core

Definition at line 219 of file TypoScriptFrontendController.php.

◆ $site

◆ $spamProtectEmailAddresses

string int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$spamProtectEmailAddresses = 0

If set, typolink() function encrypts email addresses.

Definition at line 339 of file TypoScriptFrontendController.php.

◆ $sPre

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$sPre = ''

Toplevel - objArrayName, eg 'page'

should only be used by TYPO3 Core

Definition at line 271 of file TypoScriptFrontendController.php.

◆ $sWordList

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$sWordList = ''

Is set to the incoming array sword_list in case of a page-view jumped to from a search-result.

Definition at line 365 of file TypoScriptFrontendController.php.

◆ $sWordRegEx

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$sWordRegEx = ''

Search word regex, calculated if there has been search-words send. This is used to mark up the found search words on a page when jumped to from a link in a search-result.

Definition at line 358 of file TypoScriptFrontendController.php.

◆ $sys_page

PageRepository string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$sys_page = ''

sys_page-object, pagefunctions

Definition at line 180 of file TypoScriptFrontendController.php.

◆ $tmpl

TemplateService TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$tmpl

The TypoScript template object. Used to parse the TypoScript template

Definition at line 231 of file TypoScriptFrontendController.php.

◆ $type

◆ $uniqueCounter

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$uniqueCounter = 0
protected

Used to generate page-unique keys. Point is that uniqid() functions is very slow, so a unikey key is made based on this, see function uniqueHash()

Definition at line 437 of file TypoScriptFrontendController.php.

◆ $uniqueString

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$uniqueString = ''
protected

Definition at line 442 of file TypoScriptFrontendController.php.

◆ $xhtmlDoctype

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$xhtmlDoctype = ''

Doctype to use

Definition at line 517 of file TypoScriptFrontendController.php.

◆ $xhtmlVersion

int TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$xhtmlVersion

Definition at line 521 of file TypoScriptFrontendController.php.