‪TYPO3CMS  10.4
TYPO3\CMS\Core\Utility\RootlineUtility Class Reference

Public Member Functions

 __construct ($uid, $mountPointParameter='', $context=null)
 
string getCacheIdentifier ($otherUid=null)
 
array get ()
 
bool isMountedPage ()
 

Static Public Member Functions

static purgeCaches ()
 

Protected Member Functions

array getRecordArray ($uid)
 
array enrichWithRelationFields ($uid, array $pageRecord)
 
bool columnHasRelationToResolve (array $configuration)
 
 generateRootlineCache ()
 
array processMountedPage (array $mountedPageData, array $mountPointPageData)
 
 parseMountPointParameter ()
 
int resolvePageId (int $pageId, int $workspaceId)
 
array null resolvePageRecord (int $pageId, array $fieldNames)
 
array null resolveMovePlaceHolder (int $liveId, array $fieldNames, int $workspaceId)
 
QueryBuilder createQueryBuilder (string $tableName)
 

Protected Attributes

int $pageUid
 
string $mountPointParameter
 
array $parsedMountPointParameters = array( )
 
int $languageUid = 0
 
int $workspaceUid = 0
 
PageRepository $pageRepository
 
Context $context
 
string $cacheIdentifier
 

Static Protected Attributes

static TYPO3 CMS Core Cache Frontend FrontendInterface $cache
 
static array $localCache = array( )
 
static array $rootlineFields
 
static array $pageRecordCache = array( )
 

Detailed Description

A utility resolving and Caching the Rootline generation

Definition at line 38 of file RootlineUtility.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Core\Utility\RootlineUtility::__construct (   $uid,
  $mountPointParameter = '',
  $context = null 
)

Member Function Documentation

◆ columnHasRelationToResolve()

bool TYPO3\CMS\Core\Utility\RootlineUtility::columnHasRelationToResolve ( array  $configuration)
protected

Checks whether the TCA Configuration array of a column describes a relation which is not stored as CSV in the record

Parameters
array$configuration‪TCA configuration to check
Returns
‪bool TRUE, if it describes a non-CSV relation

Definition at line 365 of file RootlineUtility.php.

Referenced by TYPO3\CMS\Core\Utility\RootlineUtility\enrichWithRelationFields().

◆ createQueryBuilder()

QueryBuilder TYPO3\CMS\Core\Utility\RootlineUtility::createQueryBuilder ( string  $tableName)
protected
Parameters
string$tableName
Returns
‪QueryBuilder

Definition at line 573 of file RootlineUtility.php.

Referenced by TYPO3\CMS\Core\Utility\RootlineUtility\resolveMovePlaceHolder(), and TYPO3\CMS\Core\Utility\RootlineUtility\resolvePageRecord().

◆ enrichWithRelationFields()

array TYPO3\CMS\Core\Utility\RootlineUtility::enrichWithRelationFields (   $uid,
array  $pageRecord 
)
protected

Resolve relations as defined in TCA and add them to the provided $pageRecord array.

Parameters
int$uid‪page ID
array$pageRecordPage record (possibly overlaid) to be extended with relations
Exceptions
PagePropertyRelationNotFoundException
Returns
‪array $pageRecord with additional relations

Definition at line 272 of file RootlineUtility.php.

References $GLOBALS, and TYPO3\CMS\Core\Utility\RootlineUtility\columnHasRelationToResolve().

Referenced by TYPO3\CMS\Core\Utility\RootlineUtility\getRecordArray().

◆ generateRootlineCache()

TYPO3\CMS\Core\Utility\RootlineUtility::generateRootlineCache ( )
protected

◆ get()

array TYPO3\CMS\Core\Utility\RootlineUtility::get ( )

Returns the actual rootline without the tree root (uid=0), including the page with $this->pageUid

Returns
‪array

Definition at line 192 of file RootlineUtility.php.

References TYPO3\CMS\Core\Utility\RootlineUtility\$cacheIdentifier, TYPO3\CMS\Core\Utility\RootlineUtility\generateRootlineCache(), and TYPO3\CMS\Core\Utility\RootlineUtility\getCacheIdentifier().

◆ getCacheIdentifier()

string TYPO3\CMS\Core\Utility\RootlineUtility::getCacheIdentifier (   $otherUid = null)

◆ getRecordArray()

array TYPO3\CMS\Core\Utility\RootlineUtility::getRecordArray (   $uid)
protected

Queries the database for the page record and returns it.

Parameters
int$uidPage id
Exceptions
PageNotFoundException
Returns
‪array

Definition at line 232 of file RootlineUtility.php.

References TYPO3\CMS\Core\Utility\RootlineUtility\enrichWithRelationFields(), and TYPO3\CMS\Core\Utility\RootlineUtility\getCacheIdentifier().

Referenced by TYPO3\CMS\Core\Utility\RootlineUtility\generateRootlineCache().

◆ isMountedPage()

bool TYPO3\CMS\Core\Utility\RootlineUtility::isMountedPage ( )

Checks whether the current Page is a Mounted Page (according to the MP-URL-Parameter)

Returns
‪bool

Definition at line 422 of file RootlineUtility.php.

Referenced by TYPO3\CMS\Core\Utility\RootlineUtility\generateRootlineCache().

◆ parseMountPointParameter()

TYPO3\CMS\Core\Utility\RootlineUtility::parseMountPointParameter ( )
protected

Parse the MountPoint Parameters Splits the MP-Param via "," for several nested mountpoints and afterwords registers the mountpoint configurations

Definition at line 465 of file RootlineUtility.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\intExplode(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\Utility\RootlineUtility\__construct().

◆ processMountedPage()

array TYPO3\CMS\Core\Utility\RootlineUtility::processMountedPage ( array  $mountedPageData,
array  $mountPointPageData 
)
protected

Enhances with mount point information or replaces the node if needed

Parameters
array$mountedPageData‪page record array of mounted page
array$mountPointPageData‪page record array of mount point page
Exceptions
BrokenRootLineException
Returns
‪array

Definition at line 435 of file RootlineUtility.php.

References TYPO3\CMS\Core\Utility\RootlineUtility\$pageUid.

Referenced by TYPO3\CMS\Core\Utility\RootlineUtility\generateRootlineCache().

◆ purgeCaches()

◆ resolveMovePlaceHolder()

array null TYPO3\CMS\Core\Utility\RootlineUtility::resolveMovePlaceHolder ( int  $liveId,
array  $fieldNames,
int  $workspaceId 
)
protected
Parameters
int$liveId
array$fieldNames
int$workspaceId
Returns
‪array|null

Definition at line 539 of file RootlineUtility.php.

References TYPO3\CMS\Core\Utility\RootlineUtility\createQueryBuilder(), and TYPO3\CMS\Core\Versioning\VersionState\MOVE_PLACEHOLDER.

Referenced by TYPO3\CMS\Core\Utility\RootlineUtility\resolvePageId().

◆ resolvePageId()

int TYPO3\CMS\Core\Utility\RootlineUtility::resolvePageId ( int  $pageId,
int  $workspaceId 
)
protected

◆ resolvePageRecord()

array null TYPO3\CMS\Core\Utility\RootlineUtility::resolvePageRecord ( int  $pageId,
array  $fieldNames 
)
protected
Parameters
int$pageId
array$fieldNames
Returns
‪array|null

Definition at line 511 of file RootlineUtility.php.

References TYPO3\CMS\Core\Utility\RootlineUtility\createQueryBuilder().

Referenced by TYPO3\CMS\Core\Utility\RootlineUtility\resolvePageId().

Member Data Documentation

◆ $cache

TYPO3 CMS Core Cache Frontend FrontendInterface TYPO3\CMS\Core\Utility\RootlineUtility::$cache
staticprotected

Definition at line 62 of file RootlineUtility.php.

◆ $cacheIdentifier

string TYPO3\CMS\Core\Utility\RootlineUtility::$cacheIdentifier
protected

◆ $context

Context TYPO3\CMS\Core\Utility\RootlineUtility::$context
protected

Query context

Definition at line 107 of file RootlineUtility.php.

Referenced by TYPO3\CMS\Core\Utility\RootlineUtility\__construct().

◆ $languageUid

int TYPO3\CMS\Core\Utility\RootlineUtility::$languageUid = 0
protected

Definition at line 54 of file RootlineUtility.php.

◆ $localCache

array TYPO3\CMS\Core\Utility\RootlineUtility::$localCache = array( )
staticprotected

Definition at line 66 of file RootlineUtility.php.

◆ $mountPointParameter

string TYPO3\CMS\Core\Utility\RootlineUtility::$mountPointParameter
protected

◆ $pageRecordCache

array TYPO3\CMS\Core\Utility\RootlineUtility::$pageRecordCache = array( )
staticprotected

Definition at line 115 of file RootlineUtility.php.

◆ $pageRepository

PageRepository TYPO3\CMS\Core\Utility\RootlineUtility::$pageRepository
protected

Database Query Object

Definition at line 101 of file RootlineUtility.php.

◆ $pageUid

int TYPO3\CMS\Core\Utility\RootlineUtility::$pageUid
protected

◆ $parsedMountPointParameters

array TYPO3\CMS\Core\Utility\RootlineUtility::$parsedMountPointParameters = array( )
protected

Definition at line 50 of file RootlineUtility.php.

◆ $rootlineFields

array TYPO3\CMS\Core\Utility\RootlineUtility::$rootlineFields
staticprotected
Initial value:
= array(
'pid',
'uid',
't3ver_oid',
't3ver_wsid',
't3ver_state',
'title',
'nav_title',
'media',
'layout',
'hidden',
'starttime',
'endtime',
'fe_group',
'extendToSubpages',
'doktype',
'TSconfig',
'tsconfig_includes',
'is_siteroot',
'mount_pid',
'mount_pid_ol',
'fe_login_mode',
'backend_layout_next_level'
)

Fields to fetch when populating rootline data

Definition at line 72 of file RootlineUtility.php.

◆ $workspaceUid

int TYPO3\CMS\Core\Utility\RootlineUtility::$workspaceUid = 0
protected

Definition at line 58 of file RootlineUtility.php.