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

Public Member Functions

 __construct ($_=null, $id, $type, $no_cache=null, $cHash='', $_2=null, $MP='')
 
 setContentType ($contentType)
 
 connectToDB ()
 
 initFEuser ()
 
 initUserGroups ()
 
bool isUserOrGroupSet ()
 
 checkAlternativeIdMethods ()
 
 clear_preview ()
 
bool isBackendUserLoggedIn ()
 
FrontendBackendUserAuthentication initializeBackendUser ()
 
 determineId ()
 
 fetch_the_id ()
 
mixed getPageShortcut ($SC, $mode, $thisUid, $itera=20, $pageLog=[], $disableGroupCheck=false)
 
bool checkEnableFields ($row, $bypassGroupCheck=false)
 
bool checkPageGroupAccess ($row)
 
bool checkPagerecordForIncludeSection (array $row)
 
bool checkIfLoginAllowedInBranch ()
 
array getPageAccessFailureReasons (string $failureReasonCode=null)
 
 getPageAndRootlineWithDomain ($domainStartPage)
 
 pageUnavailableAndExit ($reason='', $header='')
 
 pageNotFoundAndExit ($reason='', $header='')
 
bool checkPageUnavailableHandler ()
 
 pageUnavailableHandler ($code, $header, $reason)
 
 pageNotFoundHandler ($code, $header='', $reason='')
 
 pageErrorHandler ($code, $header='', $reason='')
 
 makeCacheHash ()
 
 reqCHash ()
 
 setPageArguments (PageArguments $pageArguments)
 
 initTemplate ()
 
 getFromCache ()
 
array getFromCache_queryRow ()
 
bool headerNoCache ()
 
 getConfigArray ()
 
 settingLanguage ()
 
 settingLocale ()
 
 handleDataSubmission ()
 
 initializeRedirectUrlHandlers ($calledFromCore=false)
 
ResponseInterface null redirectToExternalUrl ($calledFromCore=false)
 
 calculateLinkVars (array $queryParams=null)
 
string null getRedirectUriForMountPoint (ServerRequestInterface $request)
 
 checkPageForMountpointRedirect ()
 
string null getRedirectUriForShortcut (ServerRequestInterface $request)
 
 checkPageForShortcutRedirect ()
 
bool isGeneratePage ()
 
 clearPageCacheContent ()
 
 releaseLocks ()
 
 addCacheTags (array $tags)
 
array getPageCacheTags ()
 
 generatePage_preProcessing ()
 
 preparePageContentGeneration (ServerRequestInterface $request=null)
 
 generatePage_postProcessing ()
 
string generatePageTitle ()
 
 INTincScript ()
 
 INTincScript_loadJSCode ()
 
bool isINTincScript ()
 
bool isOutputting ()
 
 processOutput ()
 
 sendHttpHeadersDirectly ()
 
 processContentForOutput ()
 
ResponseInterface applyHttpHeadersToResponse (ResponseInterface $response)
 
 sendCacheHeaders ()
 
bool isStaticCacheble ()
 
 storeSessionData ()
 
 previewInfo ($isCoreCall=false)
 
 hook_eofe ()
 
 addTempContentHttpHeaders ()
 
 newCObj ()
 
 setAbsRefPrefix ()
 
string baseUrlWrap ($url)
 
 logDeprecatedTyposcript ($typoScriptProperty, $explanation='')
 
bool doWorkspacePreview ()
 
int whichWorkspace ()
 
array getPagesTSconfig ()
 
 setJS ($key, $content='')
 
 setCSS ($key, $content)
 
string uniqueHash ($str='')
 
 set_no_cache ($reason='', $internal=false)
 
 set_cache_timeout_default ($seconds)
 
int get_cache_timeout ()
 
string getUniqueId ($desired='')
 
string sL ($input)
 
array readLLfile ($fileRef)
 
string false getLLL ($index, $LOCAL_LANG)
 
 initLLvars ()
 
string convOutputCharset ($content)
 
 convPOSTCharset ()
 
bool domainNameMatchesCurrentRequest ($domainName)
 
mixed getDomainDataForPid ($targetPid)
 
mixed getDomainNameForPid ($targetPid)
 
int getRequestedId ()
 
bool __isset (string $propertyName)
 
mixed __get (string $propertyName)
 
 __set (string $propertyName, $propertyValue)
 
 __unset (string $propertyName)
 

Public Attributes

string $id = ''
 
int $type = ''
 
string $cHash = ''
 
bool $no_cache = false
 
array $rootLine = array( )
 
array $page = array( )
 
int $contentPid = 0
 
PageRepository $sys_page = ''
 
int $pageNotFound = 0
 
int $domainStartPage = 0
 
string $MP = ''
 
int $page_cache_reg1 = 0
 
string $siteScript = ''
 
FrontendUserAuthentication $fe_user = ''
 
int $fePreview = 0
 
int $simUserGroup = 0
 
array $config = array( )
 
TemplateService $tmpl
 
array $all = array( )
 
string $sPre = ''
 
array $pSetup = ''
 
string $newHash = ''
 
string $getMethodUrlIdToken = ''
 
bool $forceTemplateParsing = false
 
array $cHash_array = array( )
 
array $additionalHeaderData = array( )
 
array $additionalFooterData = array( )
 
array $additionalJavaScript = array( )
 
array $additionalCSS = array( )
 
string $JSCode
 
string $inlineJS
 
string $divSection = ''
 
string $intTarget = ''
 
string $extTarget = ''
 
string $fileTarget = ''
 
string int $spamProtectEmailAddresses = 0
 
string $absRefPrefix = ''
 
string $ATagParams = ''
 
string $sWordRegEx = ''
 
string $sWordList = ''
 
string $linkVars = ''
 
string $displayEditIcons = ''
 
string $displayFieldEditIcons = ''
 
string $sys_language_isocode = ''
 
array $applicationData = array( )
 
array $register = array( )
 
array $registerStack = array( )
 
int $cObjectDepthCounter = 50
 
array $recordRegister = array( )
 
string $currentRecord = ''
 
array $accessKey = array( )
 
array $imagesOnPage = array( )
 
array $lastImageInfo = array( )
 
string $indexedDocTitle = ''
 
string $altPageTitle = ''
 
string $baseUrl = ''
 
ContentObjectRenderer $cObj = ''
 
string $content = ''
 
string $metaCharset = 'utf-8'
 
string $xhtmlDoctype = ''
 
int $xhtmlVersion
 

Protected Member Functions

 initPageRenderer ()
 
 initCaches ()
 
string null applyPreviewSettings ($backendUser=null)
 
bool determineIdIsHiddenPage ()
 
 getPageAndRootline ()
 
 resolveTranslatedPageId ()
 
bool checkRootlineForIncludeSection ()
 
 checkAndSetAlias ()
 
 mergingWithGetVars ($GET_VARS)
 
string getHash ()
 
string getLockHash ()
 
string createHashBase ($createLockHashBase=false)
 
 updateRootLinesWithTranslations ()
 
 checkTranslatedShortcut (int $languageId)
 
 setUrlIdToken ()
 
array splitLinkVarsString (string $string)
 
bool isAllowedLinkVarValue (string $haystack, string $needle)
 
 redirectToCurrentPage ()
 
string getUriToCurrentPageForRedirect (ServerRequestInterface $request)
 
 realPageCacheContent ()
 
 setPageCacheContent ($content, $data, $expirationTstamp)
 
 clearPageCacheContent_pidList ($pidList)
 
 setSysLastChanged ()
 
 setRegisterValueForSysLastChanged (array $page)
 
 initializeSearchWordData ($searchWords)
 
string printTitle (string $pageTitle, bool $noTitle=false, bool $showTitleFirst=false, string $pageTitleSeparator='')
 
 recursivelyReplaceIntPlaceholdersInContent ()
 
 INTincScript_process ($INTiS_config)
 
array getCacheHeaders ()
 
 contentStrReplace ()
 
 getHttpHeadersForTemporaryContent ()
 
 disableCache ()
 
 setOutputLanguage ($language='default')
 
 convertCharsetRecursivelyToUtf8 (&$data, string $fromCharset)
 
int calculatePageCacheTimeout ()
 
array getCurrentPageCacheConfiguration ()
 
int getFirstTimeValueForRecord ($tableDef, $now)
 
 acquireLock ($type, $key)
 
 releaseLock ($type)
 
 getAdditionalHeaders ()
 
 isInPreviewMode ()
 
TYPO3 CMS Backend FrontendBackendUserAuthentication getBackendUser ()
 
TimeTracker getTimeTracker ()
 
 getCurrentSiteLanguage ()
 

Protected Attributes

 $deprecatedPublicMethods
 
PageArguments $pageArguments
 
array null $originalMountPointPage
 
array null $originalShortcutPage
 
TYPO3 CMS Frontend Http UrlHandlerInterface[] $activeUrlHandlers = array( )
 
array $pageAccessFailureHistory = array( )
 
bool $loginUser = false
 
string $gr_list = ''
 
bool $beUserLogin = false
 
int $workspacePreview = 0
 
bool $loginAllowedInBranch = true
 
string $loginAllowedInBranch_mode = ''
 
int $ADMCMD_preview_BEUSER_uid = 0
 
bool $showHiddenPage = false
 
bool $showHiddenRecords = false
 
bool int $cacheTimeOutDefault = false
 
bool $cacheContentFlag = false
 
int $cacheExpires = 0
 
bool $isClientCachable = false
 
bool $no_cacheBeforePageGen = false
 
mixed $tempContent = false
 
array $pagesTSconfig = ''
 
bool $debug = false
 
array $MP_defaults = array( )
 
int $sys_language_uid = 0
 
string $sys_language_mode = ''
 
int $sys_language_content = 0
 
int string $sys_language_contentOL = 0
 
int $uniqueCounter = 0
 
string $uniqueString = ''
 
string $lang = ''
 
LanguageService $languageService
 
LockingStrategyInterface[][] $locks = array( )
 
PageRenderer $pageRenderer
 
TYPO3 CMS Core Cache Frontend FrontendInterface $pageCache
 
array $pageCacheTags = array( )
 
CacheHashCalculator $cacheHash
 
string $contentType = 'text/html'
 
int $requestedId
 
Context $context
 

Private Attributes

array $usedUniqueIds = array( )
 

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 96 of file TypoScriptFrontendController.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::__construct (   $_ = null,
  $id,
  $type,
  $no_cache = null,
  $cHash = '',
  $_2 = null,
  $MP = '' 
)

Class constructor Takes a number of GET/POST input variable as arguments and stores them internally. The processing of these variables goes on later in this class. Also sets a unique string (->uniqueString) for this script instance; A md5 hash of the microtime()

Parameters
array$_‪unused, previously defined to set TYPO3_CONF_VARS
mixed$id‪The value of GeneralUtility::_GP('id')
int$type‪The value of GeneralUtility::_GP('type')
bool | string$no_cache‪The value of GeneralUtility::_GP('no_cache'), evaluated to 1/0, will be unused in TYPO3 v10.0.
string$cHash‪The value of GeneralUtility::_GP('cHash')
string$_2‪previously was used to define the jumpURL
string$MP‪The value of GeneralUtility::_GP('MP')

Definition at line 766 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$cHash, $GLOBALS, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$id, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$MP, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$no_cache, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$type, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\disableCache(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getTimeTracker(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\initCaches(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\initPageRenderer(), and TYPO3\CMS\Core\TimeTracker\TimeTracker\setTSlogMessage().

Member Function Documentation

◆ __get()

mixed TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::__get ( string  $propertyName)

Gets the value of the property of the given name if tagged.

The evaluation is done in the assumption that this method is never reached for a public property.

Parameters
string$propertyName
Returns
‪mixed

Definition at line 5088 of file TypoScriptFrontendController.php.

◆ __isset()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::__isset ( string  $propertyName)

Deprecation messages for TYPO3 v9 - public properties of TSFE which have been moved as Checks if the property of the given name is set.

Unmarked protected properties must return false as usual. Marked properties are evaluated by isset().

This method is not called for public properties.

Parameters
string$propertyName
Returns
‪bool

Definition at line 5018 of file TypoScriptFrontendController.php.

◆ __set()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::__set ( string  $propertyName,
  $propertyValue 
)

Sets the property of the given name if tagged.

Additionally it's allowed to set unknown properties.

The evaluation is done in the assumption that this method is never reached for a public property.

Parameters
string$propertyName
mixed$propertyValue

Definition at line 5160 of file TypoScriptFrontendController.php.

References $GLOBALS, TYPO3\CMS\Core\Context\LanguageAspect\OVERLAYS_MIXED, TYPO3\CMS\Core\Context\LanguageAspect\OVERLAYS_OFF, and TYPO3\CMS\Core\Context\LanguageAspect\OVERLAYS_ON_WITH_FLOATING.

◆ __unset()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::__unset ( string  $propertyName)

Unsets the property of the given name if tagged.

Parameters
string$propertyName

Definition at line 5297 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Core\Context\LanguageAspect\OVERLAYS_OFF.

◆ 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 4871 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 3371 of file TypoScriptFrontendController.php.

◆ addTempContentHttpHeaders()

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

Sends HTTP headers for temporary content. These headers prevent search engines from caching temporary content and asks them to revisit this page again.

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0. Use $TSFE->processOutput to send headers instead.

Definition at line 4116 of file TypoScriptFrontendController.php.

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

◆ applyHttpHeadersToResponse()

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

Add HTTP headers to the response object.

Parameters
ResponseInterface$response
Returns
‪ResponseInterface

Definition at line 3914 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getAdditionalHeaders(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getCacheHeaders().

◆ applyPreviewSettings()

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

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

  • ‪$fePreview
  • ‪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 1151 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 4211 of file TypoScriptFrontendController.php.

◆ calculateLinkVars()

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

◆ 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 4658 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().

◆ checkAlternativeIdMethods()

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

Provides ways to bypass the '?id=[xxx]&type=[xx]' format, using either PATH_INFO or virtual HTML-documents (using Apache mod_rewrite)

Two options: 1) Use PATH_INFO (also Apache) to extract id and type from that var. Does not require any special modules compiled with apache. (less typical) 2) Using hook which enables features like those provided from "realurl" extension (AKA "Speaking URLs")

Deprecated:
‪since TYPO3 v9.3, will be removed in TYPO3 v10.0.

Definition at line 986 of file TypoScriptFrontendController.php.

References $GLOBALS.

◆ checkAndSetAlias()

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

Fetches the integer page id for a page alias. Looks if ->id is not an integer and if so it will search for a page alias and if found the page uid of that page is stored in $this->id

Definition at line 2114 of file TypoScriptFrontendController.php.

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

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

◆ 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 1733 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 1792 of file TypoScriptFrontendController.php.

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

◆ checkPageForMountpointRedirect()

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

Redirect to 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.

Deprecated:
‪in TYPO3 9, will be removed in TYPO3 10

Definition at line 3126 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Page\PageRepository\DOKTYPE_MOUNTPOINT, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\redirectToCurrentPage().

◆ checkPageForShortcutRedirect()

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

Redirect to target page, if the current page is a Shortcut.

If the current page is of type shortcut and accessed directly via its URL, this function redirects to the Shortcut target using a Location header.

Deprecated:
‪in TYPO3 9, will be removed in TYPO3 10

Definition at line 3160 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Page\PageRepository\DOKTYPE_SHORTCUT, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\redirectToCurrentPage().

◆ 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 1759 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 1782 of file TypoScriptFrontendController.php.

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

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

◆ checkPageUnavailableHandler()

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

Checks whether the pageUnavailableHandler should be used. To be used, pageUnavailable_handling must be set and devIPMask must not match the current visitor's IP address.

Returns
‪bool TRUE/FALSE whether the pageUnavailable_handler should be used.
Deprecated:
‪since TYPO3 v9, will be removed in TYPO3 v10.0.

Definition at line 1918 of file TypoScriptFrontendController.php.

References $GLOBALS.

◆ 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 returend.

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 1666 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\checkPagerecordForIncludeSection(), TYPO3\CMS\Frontend\Page\PageRepository\DOKTYPE_BE_USER_SECTION, TYPO3\CMS\Frontend\Page\PageRepository\DOKTYPE_RECYCLER, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\isBackendUserLoggedIn(), and TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_SHOW.

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

◆ checkTranslatedShortcut()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::checkTranslatedShortcut ( int  $languageId)
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

Definition at line 2854 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 1002 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 3296 of file TypoScriptFrontendController.php.

◆ clearPageCacheContent_pidList()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::clearPageCacheContent_pidList (   $pidList)
protected

Clears cache content for a list of page ids

Parameters
string$pidList‪A list of INTEGER numbers which points to page uids for which to clear entries in the cache_pages cache (page content cache)

Definition at line 3306 of file TypoScriptFrontendController.php.

◆ connectToDB()

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

Connect to SQL database. May exit after outputting an error message or some JavaScript redirecting to the install tool.

Exceptions

Definition at line 831 of file TypoScriptFrontendController.php.

References $GLOBALS, and TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\DATABASE_CONNECTION_FAILED.

◆ contentStrReplace()

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

Substitute various tokens in content. This should happen only if the content is not cached by proxies or client browsers.

Definition at line 4028 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$getMethodUrlIdToken, and $GLOBALS.

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

◆ convertCharsetRecursivelyToUtf8()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::convertCharsetRecursivelyToUtf8 ( $data,
string  $fromCharset 
)
protected

Small helper function to convert charsets for arrays to UTF-8

Parameters
mixed$data‪given by reference (string/array usually)
string$fromCharset‪convert FROM this charset
Deprecated:
‪since TYPO3 v9, will be removed when convPOSTCharset() is removed as well in TYPO3 v10.0.

Definition at line 4642 of file TypoScriptFrontendController.php.

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

◆ 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 4608 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\INTincScript_process().

◆ convPOSTCharset()

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

Converts the $_POST array from metaCharset (page HTML charset from input form) to utf-8 (internal processing) IF the two charsets are different.

Deprecated:
‪since TYPO3 v9, will be removed in TYPO3 v10.0.

Definition at line 4626 of file TypoScriptFrontendController.php.

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

◆ 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 2456 of file TypoScriptFrontendController.php.

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

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

◆ determineId()

◆ determineIdIsHiddenPage()

◆ disableCache()

◆ domainNameMatchesCurrentRequest()

bool TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::domainNameMatchesCurrentRequest (   $domainName)

Whether the given domain name (potentially including a path segment) matches currently requested host or the host including the path segment

Parameters
string$domainName
Returns
‪bool
Deprecated:
‪will be removed in TYPO3 v10.0.

Definition at line 4789 of file TypoScriptFrontendController.php.

◆ doWorkspacePreview()

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

◆ fetch_the_id()

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

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.
  • ‪Getting the id for an alias in $this->id
  • ‪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
  • ‪domainStartPage
  • ‪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, the type and alias 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.

Exceptions
ServiceUnavailableException

Definition at line 1306 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$domainStartPage, $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\Frontend\Controller\TypoScriptFrontendController\checkAndSetAlias(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAccessFailureReasons(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAndRootlineWithDomain(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getTimeTracker(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\initUserGroups(), TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\NO_PAGES_FOUND, TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\PAGE_ALIAS_NOT_FOUND, 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 ( )

◆ generatePageTitle()

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

◆ get_cache_timeout()

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

◆ getAdditionalHeaders()

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

◆ getBackendUser()

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

Returns the current BE user.

Returns
‪\TYPO3\CMS\Backend\FrontendBackendUserAuthentication

Definition at line 4975 of file TypoScriptFrontendController.php.

References $GLOBALS.

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

◆ getCacheHeaders()

◆ getConfigArray()

◆ 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 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 4690 of file TypoScriptFrontendController.php.

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

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

◆ getCurrentSiteLanguage()

◆ getDomainDataForPid()

mixed TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getDomainDataForPid (   $targetPid)

Obtains domain data for the target pid. Domain data is an array with 'pid' and 'domainName' members (see sys_domain table for meaning of these fields).

Parameters
int$targetPid‪Target page id
Returns
‪mixed Return domain data or NULL
Deprecated:
‪will be removed in TYPO3 v10.0.

Definition at line 4805 of file TypoScriptFrontendController.php.

References $GLOBALS.

◆ getDomainNameForPid()

mixed TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getDomainNameForPid (   $targetPid)

Obtains the domain name for the target pid. If there are several domains, the first is returned.

Parameters
int$targetPid‪Target page id
Returns
‪mixed Return domain name or NULL if not found
Deprecated:
‪will be removed in TYPO3 v10.0.

Definition at line 4819 of file TypoScriptFrontendController.php.

References $GLOBALS.

◆ 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 4711 of file TypoScriptFrontendController.php.

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

◆ getFromCache()

◆ getFromCache_queryRow()

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

◆ 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()
See also
getFromCache(), getLockHash()

Definition at line 2428 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().

◆ getHttpHeadersForTemporaryContent()

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

Returns HTTP headers for temporary content. These headers prevent search engines from caching temporary content and asks them to revisit this page again. Please ensure to also send a 503 HTTP Status code with these headers.

Definition at line 4131 of file TypoScriptFrontendController.php.

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

◆ getLLL()

string false TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getLLL (   $index,
  $LOCAL_LANG 
)

Returns 'locallang' label - may need initializing by initLLvars

Parameters
string$index‪Local_lang key for which to return label (language is determined by $this->lang)
array$LOCAL_LANG‪The locallang array in which to search
Returns
‪string|false Label value of $index key.
Deprecated:
‪since TYPO3 v9, will be removed in TYPO3 v10.0, use LanguageService->getLLL() directly

Definition at line 4556 of file TypoScriptFrontendController.php.

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

◆ 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
See also
getFromCache(), getHash()

Definition at line 2440 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 1822 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\pageErrorHandler().

◆ getPageAndRootline()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getPageAndRootline ( )
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.

If $GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFound_handling'] is set, instead of throwing an exception it's handled by a page unavailable handler.

May set or update this properties:

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

Definition at line 1455 of file TypoScriptFrontendController.php.

References $GLOBALS, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$page, TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\ACCESS_DENIED_GENERAL, TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\ACCESS_DENIED_INVALID_PAGETYPE, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\checkRootlineForIncludeSection(), TYPO3\CMS\Frontend\Page\PageRepository\DOKTYPE_MOUNTPOINT, TYPO3\CMS\Frontend\Page\PageRepository\DOKTYPE_SHORTCUT, TYPO3\CMS\Frontend\Page\PageRepository\DOKTYPE_SPACER, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAccessFailureReasons(), 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 (   $domainStartPage)

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

Parameters
int$domainStartPagePage uid of the page where the found domain record is (pid of the domain record)

Definition at line 1859 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$domainStartPage, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAndRootline().

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

◆ getPageCacheTags()

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

◆ getPageShortcut()

mixed TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getPageShortcut (   $SC,
  $mode,
  $thisUid,
  $itera = 20,
  $pageLog = [],
  $disableGroupCheck = false 
)

Get page shortcut; Finds the records pointed to by input value $SC (the shortcut value).

Parameters
int$SC‪The value of the "shortcut" field from the pages record
int$mode‪The shortcut mode: 1 will select first subpage, 2 a random subpage, 3 the parent page; default is the page pointed to by $SC
int$thisUid‪The current page UID of the page which is a shortcut
int$itera‪Safety feature which makes sure that the function is calling itself recursively max 20 times (since this function can find shortcuts to other shortcuts to other shortcuts...)
array$pageLog‪An array filled with previous page uids tested by the function - new page uids are evaluated against this to avoid going in circles.
bool$disableGroupCheck‪If true, the group check is disabled when fetching the target page (needed e.g. for menu generation)
Exceptions

Definition at line 1636 of file TypoScriptFrontendController.php.

◆ getPagesTSconfig()

◆ 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 3110 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Page\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 3144 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Page\PageRepository\DOKTYPE_SHORTCUT, and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getUriToCurrentPageForRedirect().

◆ getRequestedId()

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

Fetches the originally requested id, fallsback to $this->id

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

Definition at line 4832 of file TypoScriptFrontendController.php.

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

◆ getTimeTracker()

◆ getUniqueId()

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getUniqueId (   $desired = '')

Returns a unique id to be used as a XML ID (in HTML / XHTML mode)

Parameters
string$desired‪The desired id. If already used it is suffixed with a number
Returns
‪string The unique id
Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0 - as this functionality is not needed anymore and does not belong in this Class conceptually.

Definition at line 4503 of file TypoScriptFrontendController.php.

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

◆ getUriToCurrentPageForRedirect()

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

◆ handleDataSubmission()

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

Handle data submission This is done at this point, because we need the config values

Deprecated:
‪since TYPO3 v9, will be removed in TYPO3 v10.0.

Definition at line 2876 of file TypoScriptFrontendController.php.

References $GLOBALS.

◆ headerNoCache()

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

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.

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

Definition at line 2404 of file TypoScriptFrontendController.php.

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

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

◆ hook_eofe()

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

End-Of-Frontend hook

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0. Functionality still exists.

Definition at line 4102 of file TypoScriptFrontendController.php.

References $GLOBALS.

◆ initCaches()

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

Initializes the caching system.

Definition at line 873 of file TypoScriptFrontendController.php.

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

◆ initFEuser()

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

Initializes the front-end login user.

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0. Use the PSR-15 middleware instead to set up the Frontend User object.

Definition at line 882 of file TypoScriptFrontendController.php.

References $GLOBALS, and TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\getCookieName().

◆ initializeBackendUser()

FrontendBackendUserAuthentication TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::initializeBackendUser ( )

Creates the backend user object and returns it.

Returns
‪FrontendBackendUserAuthentication the backend user object
Deprecated:
‪since TYPO3 v9.3, will be removed in TYPO3 v10.0.

Definition at line 1029 of file TypoScriptFrontendController.php.

References $GLOBALS, TYPO3\CMS\Core\Authentication\BackendUserAuthentication\getCookieName(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getTimeTracker(), TYPO3\CMS\Core\TimeTracker\TimeTracker\pull(), and TYPO3\CMS\Core\TimeTracker\TimeTracker\push().

◆ initializeRedirectUrlHandlers()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::initializeRedirectUrlHandlers (   $calledFromCore = false)

Loops over all configured URL handlers and registers all active handlers in the redirect URL handler array.

Parameters
bool$calledFromCore‪if set to true, no deprecation warning will be triggered
See also
‪$activeRedirectUrlHandlers
Deprecated:
‪since TYPO3 v9.3, will be removed in TYPO3 v10.0. Do not call this method anymore, and also ensure that all urlHandlers are migrated to PSR-15 middlewares.

Definition at line 2893 of file TypoScriptFrontendController.php.

References $GLOBALS.

◆ 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 3508 of file TypoScriptFrontendController.php.

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

◆ initLLvars()

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

Initializing the getLL variables needed.

See also
settingLanguage()
Deprecated:
‪since TYPO3 v9, will be removed in TYPO3 v10.0.

Definition at line 4574 of file TypoScriptFrontendController.php.

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

◆ initPageRenderer()

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

◆ initTemplate()

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

Initialize the TypoScript template parser

Deprecated:
‪since TYPO3 v9.4 will be removed in TYPO3 v10.0. Either instantiate $TSFE->tmpl yourself, if really necessary.

Definition at line 2254 of file TypoScriptFrontendController.php.

◆ 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 922 of file TypoScriptFrontendController.php.

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

◆ INTincScript()

◆ INTincScript_loadJSCode()

◆ INTincScript_process()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::INTincScript_process (   $INTiS_config)
protected

Processes the INTinclude-scripts and substitue in content.

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

Definition at line 3728 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().

◆ 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 3066 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 3218 of file TypoScriptFrontendController.php.

◆ isInPreviewMode()

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

◆ isINTincScript()

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

Determines if there are any INTincScripts to include.

Returns
‪bool Returns TRUE if scripts are found and no URL handler is active.

Definition at line 3809 of file TypoScriptFrontendController.php.

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

◆ isOutputting()

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

Determines if content should be outputted. Outputting content is done only if no URL handler is active and no hook disables the output.

Returns
‪bool Returns TRUE if no redirect URL is set and no hook disables the output.

Definition at line 3825 of file TypoScriptFrontendController.php.

References $GLOBALS.

◆ 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 4019 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 970 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 4230 of file TypoScriptFrontendController.php.

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

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\generatePageTitle(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getConfigArray(), and TYPO3\CMS\Frontend\ContentObject\FileContentObject\render().

◆ makeCacheHash()

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

Calculates a hash string based on additional parameters in the url.

Calculated hash is stored in $this->cHash_array. This is used to cache pages with more parameters than just id and type.

See also
reqCHash()
Deprecated:
‪since TYPO3 v9.5, will be removed in TYPO3 v10.0. This validation is done in the PageArgumentValidator PSR-15 middleware.

Definition at line 2175 of file TypoScriptFrontendController.php.

References $GLOBALS, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$id, TYPO3\CMS\Core\Utility\HttpUtility\buildQueryString(), TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\CACHEHASH_COMPARISON_FAILED, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\disableCache(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getTimeTracker(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\reqCHash(), and TYPO3\CMS\Core\TimeTracker\TimeTracker\setTSlogMessage().

◆ mergingWithGetVars()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::mergingWithGetVars (   $GET_VARS)
protected

Merging values into the global $_GET

Parameters
array$GET_VARS‪Array of key/value pairs that will be merged into the current GET-vars. (Non-escaped values)
Deprecated:
‪since TYPO3 v9, will be removed in TYPO3 v10.0. This was mainly used in RealURL to set $id etc. but should be done manually instead.

Definition at line 2132 of file TypoScriptFrontendController.php.

References $GLOBALS, TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\set_no_cache().

◆ newCObj()

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

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

See also
‪RequestHandler

Definition at line 4152 of file TypoScriptFrontendController.php.

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

◆ pageErrorHandler()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::pageErrorHandler (   $code,
  $header = '',
  $reason = '' 
)

Generic error page handler. Exits.

Parameters
mixed$code‪See docs of ['FE']['pageNotFound_handling'] and ['FE']['pageUnavailable_handling'] for all possible values
string$header‪If set, this is passed directly to the PHP function, header()
string$reason‪If set, error messages will also mention this as the reason for the page-not-found.
Exceptions

Definition at line 1973 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\$content, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getPageAccessFailureReasons(), and TYPO3\CMS\Core\Utility\HttpUtility\redirect().

Referenced by TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\pageNotFoundHandler(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\pageUnavailableHandler().

◆ pageNotFoundAndExit()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::pageNotFoundAndExit (   $reason = '',
  $header = '' 
)

Page-not-found handler for use in frontend plugins from extensions.

Parameters
string$reason‪Reason text
string$header‪HTTP header to send
Deprecated:
‪since TYPO3 v9, will be removed in TYPO3 v10.0.

Definition at line 1903 of file TypoScriptFrontendController.php.

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

◆ pageNotFoundHandler()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::pageNotFoundHandler (   $code,
  $header = '',
  $reason = '' 
)

Page not found handler. Acts a wrapper for the pageErrorHandler method.

Parameters
mixed$code‪See docs of ['FE']['pageNotFound_handling'] for possible values
string$header‪If set, this is passed directly to the PHP function, header()
string$reason‪If set, error messages will also mention this as the reason for the page-not-found.
Deprecated:
‪since TYPO3 v9, will be removed in TYPO3 v10.0.

Definition at line 1957 of file TypoScriptFrontendController.php.

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

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

◆ pageUnavailableAndExit()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::pageUnavailableAndExit (   $reason = '',
  $header = '' 
)

Page unavailable handler for use in frontend plugins from extensions.

Parameters
string$reason‪Reason text
string$header‪HTTP header to send
Deprecated:
‪since TYPO3 v9, will be removed in TYPO3 v10.0.

Definition at line 1888 of file TypoScriptFrontendController.php.

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

◆ pageUnavailableHandler()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::pageUnavailableHandler (   $code,
  $header,
  $reason 
)

Page unavailable handler. Acts a wrapper for the pageErrorHandler method.

Parameters
mixed$code‪See ['FE']['pageUnavailable_handling'] for possible values
string$header‪If set, this is passed directly to the PHP function, header()
string$reason‪If set, error messages will also mention this as the reason for the page-not-found.
Deprecated:
‪since TYPO3 v9, will be removed in TYPO3 v10.0.

Definition at line 1943 of file TypoScriptFrontendController.php.

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

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

◆ preparePageContentGeneration()

◆ previewInfo()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::previewInfo (   $isCoreCall = false)

Outputs preview info.

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0. Use "hook_eofe" instead.
Parameters
bool$isCoreCall‪if set to true, there will be no deprecation message.

Definition at line 4080 of file TypoScriptFrontendController.php.

References $GLOBALS.

◆ 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 (from $this->setup['sitetitle'])
bool$showTitleFirst‪If set, then "sitetitle" 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 "[sitetitle]: [input-title]". Not htmlspecialchar()'ed.
See also
generatePageTitle()

Definition at line 3637 of file TypoScriptFrontendController.php.

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

◆ processContentForOutput()

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

Process the output before it's actually outputted.

This includes substituting the "username" comment. Works on $this->content.

Definition at line 3895 of file TypoScriptFrontendController.php.

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

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

◆ processOutput()

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

Process the output before it's actually outputted. Sends headers also.

This includes substituting the "username" comment, sending additional headers (as defined in the TypoScript "config.additionalHeaders" object), XHTML cleaning content (if configured) Works on $this->content.

Deprecated:
‪since TYPO3 v9.5, will be removed in TYPO3 v10.0.

Definition at line 3846 of file TypoScriptFrontendController.php.

References TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\processContentForOutput(), and TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\sendHttpHeadersDirectly().

◆ readLLfile()

array TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::readLLfile (   $fileRef)

Read locallang files - for frontend applications

Parameters
string$fileRef‪Reference to a relative filename to include.
Returns
‪array Returns the $LOCAL_LANG array found in the file. If no array found, returns empty array.
Deprecated:
‪since TYPO3 v9, will be removed in TYPO3 v10.0

Definition at line 4542 of file TypoScriptFrontendController.php.

◆ realPageCacheContent()

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

◆ recursivelyReplaceIntPlaceholdersInContent()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::recursivelyReplaceIntPlaceholdersInContent ( )
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 3710 of file TypoScriptFrontendController.php.

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

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

◆ redirectToCurrentPage()

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

◆ redirectToExternalUrl()

ResponseInterface null TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::redirectToExternalUrl (   $calledFromCore = false)

Loops over all registered URL handlers and lets them process the current URL.

If no handler has stopped the current process (e.g. by redirecting) and a the redirectUrl property is not empty, the user will be redirected to this URL.

Should be called by the FrontendRequestHandler only.

Returns
‪ResponseInterface|null
Parameters
bool$calledFromCore‪if set to true, no deprecation warning will be triggered
Deprecated:
‪since TYPO3 v9.3, will be removed in TYPO3 v10.0. Do not call this method anymore, and also ensure that all urlHandlers are migrated to PSR-15 middlewares.

Definition at line 2935 of file TypoScriptFrontendController.php.

◆ releaseLock()

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

◆ releaseLocks()

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

◆ reqCHash()

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

Will disable caching if the cHash value was not set when having dynamic arguments in GET query parameters. This function should be called to check the existence of "&cHash" whenever a plugin generating cacheable output is using extra GET variables. If there is a cHash value the validation of it automatically takes place in makeCacheHash() (see above)

See also
‪\TYPO3\CMS\Frontend\Plugin\AbstractPlugin::pi_cHashCheck()

Definition at line 2214 of file TypoScriptFrontendController.php.

References $GLOBALS, TYPO3\CMS\Core\Utility\HttpUtility\buildQueryString(), TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\CACHEHASH_EMPTY, TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\disableCache(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getTimeTracker(), and TYPO3\CMS\Core\TimeTracker\TimeTracker\setTSlogMessage().

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

◆ 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, $this->sys_language_uid/sys_language_content is set as well.

Definition at line 1602 of file TypoScriptFrontendController.php.

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

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

◆ sendCacheHeaders()

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

Send cache headers good for client/reverse proxy caching.

See also
getCacheHeaders() for more details
Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0. Use $TSFE->processOutput to send headers instead.

Definition at line 3952 of file TypoScriptFrontendController.php.

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

◆ sendHttpHeadersDirectly()

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

◆ 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 4446 of file TypoScriptFrontendController.php.

◆ set_no_cache()

◆ setAbsRefPrefix()

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

◆ setContentType()

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

Should only be used by TYPO3 core for now

Definition at line 818 of file TypoScriptFrontendController.php.

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

◆ setCSS()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::setCSS (   $key,
  $content 
)

Sets CSS data in the additionalCSS array

Parameters
string$key‪Is the key in the array, for num-key let the value be empty
string$content‪Is the content if you want any
See also
setJS()
Deprecated:
‪since TYPO3 v9.3, will be removed in TYPO3 v10.0

Definition at line 4373 of file TypoScriptFrontendController.php.

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

◆ setJS()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::setJS (   $key,
  $content = '' 
)

Sets JavaScript code in the additionalJavaScript array

Parameters
string$key‪is the key in the array, for num-key let the value be empty. Note reserved keys 'openPic' and 'mouseOver'
string$content‪is the content if you want any
See also
‪\TYPO3\CMS\Frontend\ContentObject\Menu\GraphicalMenuContentObject::writeMenu(), ContentObjectRenderer::imageLinkWrap()

Definition at line 4332 of file TypoScriptFrontendController.php.

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

◆ setOutputLanguage()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::setOutputLanguage (   $language = 'default')
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

Parameters
string$language‪- usually set via TypoScript config.language = dk

Definition at line 4592 of file TypoScriptFrontendController.php.

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

◆ setPageArguments()

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::setPageArguments ( PageArguments  $pageArguments)
Parameters
PageArguments$pageArguments

Definition at line 2245 of file TypoScriptFrontendController.php.

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

◆ 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 3346 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 3320 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()

◆ settingLocale()

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

◆ setUrlIdToken()

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

Sets the URL_ID_TOKEN in the internal var, $this->getMethodUrlIdToken This feature allows sessions to use a GET-parameter instead of a cookie.

Definition at line 2958 of file TypoScriptFrontendController.php.

References $GLOBALS.

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

◆ 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 4530 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Core\Page\PageRenderer\addInlineLanguageLabelArray().

◆ 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
Returns
‪array

Definition at line 3043 of file TypoScriptFrontendController.php.

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

◆ storeSessionData()

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

Stores session data for the front end user

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0, as this is a simple wrapper method.

Definition at line 4068 of file TypoScriptFrontendController.php.

◆ 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 4388 of file TypoScriptFrontendController.php.

Referenced by TYPO3\CMS\Frontend\Http\RequestHandler\generatePageContentWithHeader(), TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController\getUniqueId(), and TYPO3\CMS\Frontend\ContentObject\ContentObjectArrayInternalContentObject\render().

◆ updateRootLinesWithTranslations()

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

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

Definition at line 2805 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 4256 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 = ''

◆ $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 616 of file TypoScriptFrontendController.php.

◆ $activeUrlHandlers

TYPO3 CMS Frontend Http UrlHandlerInterface [] TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$activeUrlHandlers = array( )
protected

Contains all URL handler instances that are active for the current request.

The methods isGeneratePage(), isOutputting() and isINTincScript() depend on this property.

See also
initializeRedirectUrlHandlers()
Deprecated:
‪since TYPO3 v9.3, will be removed in TYPO3 v10.0.

Definition at line 185 of file TypoScriptFrontendController.php.

◆ $additionalCSS

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

Used to accumulate additional Style code. Works like additionalHeaderData.

Definition at line 444 of file TypoScriptFrontendController.php.

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

◆ $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 431 of file TypoScriptFrontendController.php.

◆ $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 426 of file TypoScriptFrontendController.php.

◆ $additionalJavaScript

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

Used to accumulate additional JavaScript-code. Works like additionalHeaderData. Reserved keys at 'openPic' and 'mouseOver'

Definition at line 438 of file TypoScriptFrontendController.php.

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

◆ $ADMCMD_preview_BEUSER_uid

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

Set to backend user ID to initialize when keyword-based preview is used

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0. User the information within the context "backend.user" aspect.

Definition at line 276 of file TypoScriptFrontendController.php.

◆ $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 350 of file TypoScriptFrontendController.php.

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

◆ $altPageTitle

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

Alternative page title (normally the title of the page record). Can be set from applications you make.

Definition at line 653 of file TypoScriptFrontendController.php.

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

◆ $applicationData

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

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

Definition at line 580 of file TypoScriptFrontendController.php.

◆ $ATagParams

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

-tag parameters

Definition at line 500 of file TypoScriptFrontendController.php.

◆ $baseUrl

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

The base URL set for the page header.

Definition at line 658 of file TypoScriptFrontendController.php.

◆ $beUserLogin

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

Flag that indicates if a backend user is logged in!

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0. User the information within the context "backend.user" aspect.

Definition at line 252 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 331 of file TypoScriptFrontendController.php.

◆ $cacheExpires

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

Set to the expire time of cached content

Definition at line 337 of file TypoScriptFrontendController.php.

◆ $cacheHash

CacheHashCalculator TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$cacheHash
protected

The cHash Service class used for cHash related functionality

Definition at line 719 of file TypoScriptFrontendController.php.

◆ $cacheTimeOutDefault

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

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

Definition at line 324 of file TypoScriptFrontendController.php.

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

◆ $cHash

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

◆ $cHash_array

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

The array which cHash_calc is based on, see PageArgumentValidator class.

Definition at line 406 of file TypoScriptFrontendController.php.

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

◆ $cObj

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

Page content render object

Definition at line 670 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

Definition at line 596 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 311 of file TypoScriptFrontendController.php.

◆ $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 152 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 727 of file TypoScriptFrontendController.php.

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

◆ $context

Context TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$context
protected

The context for keeping the current state, mostly related to current page information, backend user / frontend user access, workspaceId

Definition at line 750 of file TypoScriptFrontendController.php.

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

◆ $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 610 of file TypoScriptFrontendController.php.

◆ $debug

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

Debug flag. If TRUE special debug-output maybe be shown (which includes html-formatting).

Deprecated:
‪this property is not in use anymore and will be removed in TYPO3 v10.0.

Definition at line 463 of file TypoScriptFrontendController.php.

◆ $deprecatedPublicMethods

TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$deprecatedPublicMethods
protected
Initial value:
= array(
'tempPageCacheContent' => 'Using $TSFE->tempPageCacheContent() has been marked as internal as its purpose is to be managed from within TSFE directly.',
'realPageCacheContent' => 'Using $TSFE->realPageCacheContent() has been marked as internal as its purpose is to be managed from within TSFE directly.',
'setPageCacheContent' => 'Using $TSFE->setPageCacheContent() has been marked as internal as its purpose is to be managed from within TSFE directly.',
'clearPageCacheContent_pidList' => 'Using $TSFE->clearPageCacheContent_pidList() has been marked as internal as its purpose is to be managed from within TSFE directly.',
'setSysLastChanged' => 'Using $TSFE->setSysLastChanged() has been marked as internal as its purpose is to be managed from within TSFE directly.',
'contentStrReplace' => 'Using $TSFE->contentStrReplace() has been marked as internal as its purpose is to be managed from within TSFE directly.',
'mergingWithGetVars' => '$TSFE->mergingWithGetVars() will be removed in TYPO3 v10.0. Use a middleware instead to override the PSR-7 request object AND set $_GET on top to achieve the same result.',
)

Definition at line 101 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.

Definition at line 528 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.

Definition at line 535 of file TypoScriptFrontendController.php.

◆ $divSection

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

Used to accumulate DHTML-layers.

Definition at line 457 of file TypoScriptFrontendController.php.

◆ $domainStartPage

◆ $extTarget

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

Default external target

Definition at line 473 of file TypoScriptFrontendController.php.

◆ $fe_user

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

The frontend user

Definition at line 230 of file TypoScriptFrontendController.php.

◆ $fePreview

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

Flag indication that preview is active. This is based on the login of a backend user and whether the backend user has read access to the current page.

Definition at line 284 of file TypoScriptFrontendController.php.

◆ $fileTarget

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

Default file link target

Definition at line 478 of file TypoScriptFrontendController.php.

◆ $forceTemplateParsing

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

Passed to TypoScript template class and tells it to force template rendering

Definition at line 400 of file TypoScriptFrontendController.php.

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

◆ $getMethodUrlIdToken

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

If config.ftu (Frontend Track User) is set in TypoScript for the current page, the string value of this var is substituted in the rendered source-code with the string, '&ftu=[token...]' which enables GET-method usertracking as opposed to cookie based

Definition at line 377 of file TypoScriptFrontendController.php.

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

◆ $gr_list

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

(RO=readonly) The group list, sorted numerically. Group '0,-1' is the default group, but other groups may be added by other means than a user being logged in though...

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0. User the information within the context "frontend.user" aspect.

Definition at line 246 of file TypoScriptFrontendController.php.

◆ $id

◆ $imagesOnPage

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

Numerical array where image filenames are added if they are referenced in the rendered document. This includes only TYPO3 generated/inserted images.

Definition at line 622 of file TypoScriptFrontendController.php.

◆ $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)

Definition at line 646 of file TypoScriptFrontendController.php.

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

◆ $inlineJS

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$inlineJS

Definition at line 452 of file TypoScriptFrontendController.php.

◆ $intTarget

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

Default internal target

Definition at line 468 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 343 of file TypoScriptFrontendController.php.

◆ $JSCode

string TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$JSCode

Definition at line 448 of file TypoScriptFrontendController.php.

◆ $lang

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

Set to the system language key (used on the site)

Definition at line 688 of file TypoScriptFrontendController.php.

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

◆ $languageService

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

Internal calculations for labels

Definition at line 694 of file TypoScriptFrontendController.php.

◆ $lastImageInfo

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

Is set in ContentObjectRenderer->cImage() function to the info-array of the most recent rendered image. The information is used in ImageTextContentObject

Definition at line 628 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 522 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 698 of file TypoScriptFrontendController.php.

◆ $loginAllowedInBranch

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

Shows whether logins are allowed in branch

Definition at line 264 of file TypoScriptFrontendController.php.

◆ $loginAllowedInBranch_mode

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

Shows specific mode (all or groups)

Definition at line 270 of file TypoScriptFrontendController.php.

◆ $loginUser

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

Global flag indicating that a frontend user is logged in. This is set only if a user really IS logged in. The group-list may show other groups (like added by IP filter or so) even though there is no user.

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0. User the information within the context "frontend.user" aspect.

Definition at line 238 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 682 of file TypoScriptFrontendController.php.

◆ $MP

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

◆ $MP_defaults

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

Keys are page ids and values are default &MP (mount point) values to set when using the linking features...)

Deprecated:
‪this property is not in use anymore and will be removed in TYPO3 v10.0.

Definition at line 485 of file TypoScriptFrontendController.php.

◆ $newHash

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

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

Definition at line 368 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 136 of file TypoScriptFrontendController.php.

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

◆ $no_cacheBeforePageGen

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

This flag is set before inclusion of RequestHandler IF no_cache is set. If this flag is set after the inclusion of RequestHandler, no_cache is forced to be set. This is done in order to make sure that php-code from pagegen does not falsely clear the no_cache flag.

Definition at line 386 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 160 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 169 of file TypoScriptFrontendController.php.

◆ $page

◆ $page_cache_reg1

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

This can be set from applications as a way to tag cached versions of a page and later perform some external cache management, like clearing only a part of the cache of a page...

Deprecated:
‪since TYPO3 v9, will be removed in TYPO3 v10.0.

Definition at line 216 of file TypoScriptFrontendController.php.

◆ $pageAccessFailureHistory

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

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

Deprecated:
‪this value has a protected visibility now, as it is only used for internal purpose. Use "getPageAccessFailureReasons()" instead.

Definition at line 203 of file TypoScriptFrontendController.php.

◆ $pageArguments

PageArguments TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$pageArguments
protected

◆ $pageCache

TYPO3 CMS Core Cache Frontend 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 709 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 191 of file TypoScriptFrontendController.php.

◆ $pageRenderer

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

◆ $pagesTSconfig

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

May be set to the pagesTSconfig

Definition at line 412 of file TypoScriptFrontendController.php.

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

◆ $pSetup

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

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

Definition at line 361 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 602 of file TypoScriptFrontendController.php.

◆ $register

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

Definition at line 584 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 590 of file TypoScriptFrontendController.php.

◆ $requestedId

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

Originally requested id from the initial $_GET variable

Definition at line 743 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 141 of file TypoScriptFrontendController.php.

◆ $showHiddenPage

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

Flag indicating that hidden pages should be shown, selected and so on. This goes for almost all selection of pages!

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0. User the information within the context "visibility" aspect.

Definition at line 291 of file TypoScriptFrontendController.php.

◆ $showHiddenRecords

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

Flag indicating that hidden records should be shown. This includes sys_template and even fe_groups in addition to all other regular content. So in effect, this includes everything except pages.

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0. User the information within the context "visibility" aspect.

Definition at line 299 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 305 of file TypoScriptFrontendController.php.

◆ $siteScript

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

Contains the value of the current script path that activated the frontend. Typically "index.php" but by rewrite rules it could be something else! Used for Speaking Urls / Simulate Static Documents.

Definition at line 224 of file TypoScriptFrontendController.php.

◆ $spamProtectEmailAddresses

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

If set, typolink() function encrypts email addresses. Is set in pagegen-class.

Definition at line 490 of file TypoScriptFrontendController.php.

◆ $sPre

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

Toplevel - objArrayName, eg 'page'

Definition at line 355 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 515 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 508 of file TypoScriptFrontendController.php.

◆ $sys_language_content

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

Site content selection uid (can be different from sys_language_uid if content is to be selected from a fall-back language. Depends on sys_language_mode)

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0 - use LanguageAspect->getContentId() instead.

Definition at line 557 of file TypoScriptFrontendController.php.

◆ $sys_language_contentOL

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

Site content overlay flag; If set - and sys_language_content is > 0 - , records selected will try to look for a translation pointing to their uid. (If configured in [ctrl][languageField] / [ctrl][transOrigP...] Possible values: [0,1,hideNonTranslated] This flag is set based on TypoScript config.sys_language_overlay setting

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0 - use LanguageAspect->getOverlayType() instead.

Definition at line 568 of file TypoScriptFrontendController.php.

◆ $sys_language_isocode

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

Is set to the iso code of the sys_language_content if that is properly defined by the sys_language record representing the sys_language_uid.

Definition at line 574 of file TypoScriptFrontendController.php.

◆ $sys_language_mode

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

Site language mode for content fall back.

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0 - use LanguageAspect->getFallbackChain() instead.

Definition at line 550 of file TypoScriptFrontendController.php.

◆ $sys_language_uid

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

Site language, 0 (zero) is default, int+ is uid pointing to a sys_language record. Should reflect which language menus, templates etc is displayed in (master language) - but not necessarily the content which could be falling back to default (see sys_language_content)

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0 - use LanguageAspect->getId() instead.

Definition at line 544 of file TypoScriptFrontendController.php.

◆ $sys_page

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

sys_page-object, pagefunctions

Definition at line 175 of file TypoScriptFrontendController.php.

◆ $tempContent

mixed TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$tempContent = false
protected

This flag indicates if temporary content went into the cache during page-generation. When the message is set to "this page is being generated", TYPO3 Frontend indicates this way that the current page request is fully cached, and needs no page generation.

Deprecated:
‪this property is not in use anymore and will be removed in TYPO3 v10.0.

Definition at line 395 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 317 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 635 of file TypoScriptFrontendController.php.

◆ $uniqueString

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

Definition at line 640 of file TypoScriptFrontendController.php.

◆ $usedUniqueIds

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

IDs we already rendered for this page (to make sure they are unique)

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0

Definition at line 664 of file TypoScriptFrontendController.php.

◆ $workspacePreview

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

Integer, that indicates which workspace is being previewed. Not in use anymore, as this is part of the workspace preview functionality, use $TSFE->whichWorkspace() instead.

Deprecated:
‪since TYPO3 v9.4, will be removed in TYPO3 v10.0. User the information within the context "workspace" aspect.

Definition at line 259 of file TypoScriptFrontendController.php.

◆ $xhtmlDoctype

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

Doctype to use

Definition at line 733 of file TypoScriptFrontendController.php.

◆ $xhtmlVersion

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

Definition at line 737 of file TypoScriptFrontendController.php.