AbstractItemProvider
Contains methods used by Data providers that handle elements with single items like select, radio and some more.
Table of Contents
Methods
- addIconFromAltIcons() : array<string|int, mixed>
- Add alternative icon using "altIcons" TSconfig
- sanitizeItemArray() : array<string|int, mixed>
- Sanitize incoming item array
- translateLabels() : array<string|int, mixed>
- Translate the item labels
- addItemsFromFolder() : array<string|int, mixed>
- TCA config "fileFolder" evaluation. Add them to $items
- addItemsFromForeignTable() : array<string|int, mixed>
- TCA config "foreign_table" evaluation. Add them to $items
- addItemsFromPageTsConfig() : array<string|int, mixed>
- PageTsConfig addItems:
- addItemsFromSpecial() : array<string|int, mixed>
- TCA config "special" evaluation. Add them to $items
- buildForeignTableQueryBuilder() : QueryBuilder
- Build query to fetch foreign records. Helper method of addItemsFromForeignTable(), do not call otherwise.
- getBackendUser() : BackendUserAuthentication
- getLanguageService() : LanguageService
- getLiveUid() : int|string
- Gets the record uid of the live default record. If already pointing to the live record, the submitted record uid is returned.
- parseSiteConfiguration() : array<string|int, mixed>
- Parse ###SITE:### placeholders in the input string and return the replacements array for later use in $this->replaceParsedSiteConfiguration().
- parseStartingPointsFromSiteConfiguration() : array<string|int, mixed>
- A field's [treeConfig][startingPoints] can be set via site config, parse possibly set values
- processDatabaseFieldValue() : array<string|int, mixed>
- Convert the current database values into an array
- processForeignTableClause() : array<string|int, mixed>
- Replace markers in a where clause from TCA foreign_table_where
- processSelectFieldValue() : array<string|int, mixed>
- Validate and sanitize database row values of the select field with the given name.
- quoteParsedSiteConfiguration() : array<string|int, mixed>
- removeItemsByDoktypeUserRestriction() : array<string|int, mixed>
- Remove items if doktype is handled for non admin users
- removeItemsByKeepItemsPageTsConfig() : array<string|int, mixed>
- Remove items using "keepItems" pageTsConfig
- removeItemsByRemoveItemsPageTsConfig() : array<string|int, mixed>
- Remove items using "removeItems" pageTsConfig
- removeItemsByUserAuthMode() : array<string|int, mixed>
- Remove items by user restriction on authMode items
- removeItemsByUserLanguageFieldRestriction() : array<string|int, mixed>
- Remove items user restriction on language field
- removeItemsByUserStorageRestriction() : array<string|int, mixed>
- Remove items if sys_file_storage is not allowed for non-admin users.
- replaceParsedSiteConfiguration() : string
- resolveItemProcessorFunction() : array<string|int, mixed>
- Resolve "itemProcFunc" of elements.
Methods
addIconFromAltIcons()
Add alternative icon using "altIcons" TSconfig
public
addIconFromAltIcons(array<string|int, mixed> $result, array<string|int, mixed> $items, string $table, string $fieldName) : array<string|int, mixed>
Parameters
- $result : array<string|int, mixed>
- $items : array<string|int, mixed>
- $table : string
- $fieldName : string
Return values
array<string|int, mixed>sanitizeItemArray()
Sanitize incoming item array
public
sanitizeItemArray(mixed $itemArray, string $tableName, string $fieldName) : array<string|int, mixed>
Used by TcaSelectItems and TcaSelectTreeItems data providers
Parameters
- $itemArray : mixed
- $tableName : string
- $fieldName : string
Tags
Return values
array<string|int, mixed>translateLabels()
Translate the item labels
public
translateLabels(array<string|int, mixed> $result, array<string|int, mixed> $itemArray, string $table, string $fieldName) : array<string|int, mixed>
Used by TcaSelectItems and TcaSelectTreeItems data providers
Parameters
- $result : array<string|int, mixed>
-
Result array
- $itemArray : array<string|int, mixed>
-
Items
- $table : string
- $fieldName : string
Return values
array<string|int, mixed>addItemsFromFolder()
TCA config "fileFolder" evaluation. Add them to $items
protected
addItemsFromFolder(array<string|int, mixed> $result, string $fieldName, array<string|int, mixed> $items) : array<string|int, mixed>
Used by TcaSelectItems and TcaSelectTreeItems data providers
Parameters
- $result : array<string|int, mixed>
-
Result array
- $fieldName : string
-
Current handle field name
- $items : array<string|int, mixed>
-
Incoming items
Tags
Return values
array<string|int, mixed> —Modified item array
addItemsFromForeignTable()
TCA config "foreign_table" evaluation. Add them to $items
protected
addItemsFromForeignTable(array<string|int, mixed> $result, string $fieldName, array<string|int, mixed> $items[, bool $includeFullRows = false ]) : array<string|int, mixed>
Used by TcaSelectItems and TcaSelectTreeItems data providers
Parameters
- $result : array<string|int, mixed>
-
Result array
- $fieldName : string
-
Current handled field name
- $items : array<string|int, mixed>
-
Incoming items
- $includeFullRows : bool = false
-
@internal Hack for category tree to speed up tree processing, adding full db row as _row to item
Tags
Return values
array<string|int, mixed> —Modified item array
addItemsFromPageTsConfig()
PageTsConfig addItems:
protected
addItemsFromPageTsConfig(array<string|int, mixed> $result, string $fieldName, array<string|int, mixed> $items) : array<string|int, mixed>
TCEFORMS.aTable.aField[.types][.aType].addItems.aValue = aLabel, with type specific options merged by pageTsConfig already
Used by TcaSelectItems and TcaSelectTreeItems data providers
Parameters
- $result : array<string|int, mixed>
-
result array
- $fieldName : string
-
Current handle field name
- $items : array<string|int, mixed>
-
Incoming items
Return values
array<string|int, mixed> —Modified item array
addItemsFromSpecial()
TCA config "special" evaluation. Add them to $items
protected
addItemsFromSpecial(array<string|int, mixed> $result, string $fieldName, array<string|int, mixed> $items) : array<string|int, mixed>
since v11, will be removed in v12
Used by TcaSelectItems and TcaSelectTreeItems data providers
Parameters
- $result : array<string|int, mixed>
-
Result array
- $fieldName : string
-
Current handle field name
- $items : array<string|int, mixed>
-
Incoming items
Tags
Return values
array<string|int, mixed> —Modified item array
buildForeignTableQueryBuilder()
Build query to fetch foreign records. Helper method of addItemsFromForeignTable(), do not call otherwise.
protected
buildForeignTableQueryBuilder(array<string|int, mixed> $result, string $localFieldName[, bool $selectAllFields = false ]) : QueryBuilder
Parameters
- $result : array<string|int, mixed>
-
Result array
- $localFieldName : string
-
Current handle field name
- $selectAllFields : bool = false
-
@internal True to select * all fields of row, otherwise an auto-calculated list. Select * is an optimization hack to speed up category tree calculation.
Return values
QueryBuildergetBackendUser()
protected
getBackendUser() : BackendUserAuthentication
Return values
BackendUserAuthenticationgetLanguageService()
protected
getLanguageService() : LanguageService
Return values
LanguageServicegetLiveUid()
Gets the record uid of the live default record. If already pointing to the live record, the submitted record uid is returned.
protected
getLiveUid(array<string|int, mixed> $result) : int|string
Parameters
- $result : array<string|int, mixed>
-
Result array
Tags
Return values
int|string —If the record is new, uid will be a string beginning with "NEW". Otherwise an int.
parseSiteConfiguration()
Parse ###SITE:### placeholders in the input string and return the replacements array for later use in $this->replaceParsedSiteConfiguration().
protected
parseSiteConfiguration(SiteInterface|null $site, string $input) : array<string|int, mixed>
IMPORTANT: If the values are used within raw SQL statements (e.g. foreign_table_where), consider using $this->quoteParsedSiteConfiguration() before replacement.
Parameters
- $site : SiteInterface|null
- $input : string
Return values
array<string|int, mixed>parseStartingPointsFromSiteConfiguration()
A field's [treeConfig][startingPoints] can be set via site config, parse possibly set values
protected
parseStartingPointsFromSiteConfiguration(array<string|int, mixed> $result, array<string|int, mixed> $fieldConfig) : array<string|int, mixed>
Parameters
- $result : array<string|int, mixed>
- $fieldConfig : array<string|int, mixed>
Return values
array<string|int, mixed>processDatabaseFieldValue()
Convert the current database values into an array
protected
processDatabaseFieldValue(array<string|int, mixed> $row, string $fieldName) : array<string|int, mixed>
Parameters
- $row : array<string|int, mixed>
-
database row
- $fieldName : string
-
fieldname to process
Return values
array<string|int, mixed>processForeignTableClause()
Replace markers in a where clause from TCA foreign_table_where
protected
processForeignTableClause(array<string|int, mixed> $result, string $foreignTableName, string $localFieldName) : array<string|int, mixed>
###REC_FIELD_[field name]### ###THIS_UID### - is current element uid (zero if new). ###CURRENT_PID### - is the current page id (pid of the record). ###SITEROOT### ###PAGE_TSCONFIG_ID### - a value you can set from Page TSconfig dynamically. ###PAGE_TSCONFIG_IDLIST### - a value you can set from Page TSconfig dynamically. ###PAGE_TSCONFIG_STR### - a value you can set from Page TSconfig dynamically.
Parameters
- $result : array<string|int, mixed>
-
Result array
- $foreignTableName : string
-
Name of foreign table
- $localFieldName : string
-
Current handle field name
Return values
array<string|int, mixed> —Query parts with keys WHERE, ORDERBY, GROUPBY, LIMIT
processSelectFieldValue()
Validate and sanitize database row values of the select field with the given name.
protected
processSelectFieldValue(array<string|int, mixed> $result, string $fieldName, array<string|int, mixed> $staticValues) : array<string|int, mixed>
Creates an array out of databaseRow[selectField] values.
Used by TcaSelectItems and TcaSelectTreeItems data providers
Parameters
- $result : array<string|int, mixed>
-
The current result array.
- $fieldName : string
-
Name of the current select field.
- $staticValues : array<string|int, mixed>
-
Array with statically defined items, item value is used as array key.
Return values
array<string|int, mixed>quoteParsedSiteConfiguration()
protected
quoteParsedSiteConfiguration(Connection $connection, array<string|int, mixed> $parsedSiteConfiguration) : array<string|int, mixed>
Parameters
- $connection : Connection
- $parsedSiteConfiguration : array<string|int, mixed>
Return values
array<string|int, mixed>removeItemsByDoktypeUserRestriction()
Remove items if doktype is handled for non admin users
protected
removeItemsByDoktypeUserRestriction(array<string|int, mixed> $result, string $fieldName, array<string|int, mixed> $items) : array<string|int, mixed>
Used by TcaSelectItems and TcaSelectTreeItems data providers
Parameters
- $result : array<string|int, mixed>
-
Result array
- $fieldName : string
-
Current handle field name
- $items : array<string|int, mixed>
-
Incoming items
Return values
array<string|int, mixed> —Modified item array
removeItemsByKeepItemsPageTsConfig()
Remove items using "keepItems" pageTsConfig
protected
removeItemsByKeepItemsPageTsConfig(array<string|int, mixed> $result, string $fieldName, array<string|int, mixed> $items) : array<string|int, mixed>
Used by TcaSelectItems and TcaSelectTreeItems data providers
Parameters
- $result : array<string|int, mixed>
-
Result array
- $fieldName : string
-
Current handle field name
- $items : array<string|int, mixed>
-
Incoming items
Return values
array<string|int, mixed> —Modified item array
removeItemsByRemoveItemsPageTsConfig()
Remove items using "removeItems" pageTsConfig
protected
removeItemsByRemoveItemsPageTsConfig(array<string|int, mixed> $result, string $fieldName, array<string|int, mixed> $items) : array<string|int, mixed>
Used by TcaSelectItems and TcaSelectTreeItems data providers
Parameters
- $result : array<string|int, mixed>
-
Result array
- $fieldName : string
-
Current handle field name
- $items : array<string|int, mixed>
-
Incoming items
Return values
array<string|int, mixed> —Modified item array
removeItemsByUserAuthMode()
Remove items by user restriction on authMode items
protected
removeItemsByUserAuthMode(array<string|int, mixed> $result, string $fieldName, array<string|int, mixed> $items) : array<string|int, mixed>
Used by TcaSelectItems and TcaSelectTreeItems data providers
Parameters
- $result : array<string|int, mixed>
-
Result array
- $fieldName : string
-
Current handle field name
- $items : array<string|int, mixed>
-
Incoming items
Return values
array<string|int, mixed> —Modified item array
removeItemsByUserLanguageFieldRestriction()
Remove items user restriction on language field
protected
removeItemsByUserLanguageFieldRestriction(array<string|int, mixed> $result, string $fieldName, array<string|int, mixed> $items) : array<string|int, mixed>
Used by TcaSelectItems and TcaSelectTreeItems data providers
Parameters
- $result : array<string|int, mixed>
-
Result array
- $fieldName : string
-
Current handle field name
- $items : array<string|int, mixed>
-
Incoming items
Return values
array<string|int, mixed> —Modified item array
removeItemsByUserStorageRestriction()
Remove items if sys_file_storage is not allowed for non-admin users.
protected
removeItemsByUserStorageRestriction(array<string|int, mixed> $result, string $fieldName, array<string|int, mixed> $items) : array<string|int, mixed>
Used by TcaSelectItems data providers
Parameters
- $result : array<string|int, mixed>
-
Result array
- $fieldName : string
-
Current handle field name
- $items : array<string|int, mixed>
-
Incoming items
Return values
array<string|int, mixed> —Modified item array
replaceParsedSiteConfiguration()
protected
replaceParsedSiteConfiguration(string $input, array<string|int, mixed> $parsedSiteConfiguration) : string
Parameters
- $input : string
- $parsedSiteConfiguration : array<string|int, mixed>
Return values
stringresolveItemProcessorFunction()
Resolve "itemProcFunc" of elements.
protected
resolveItemProcessorFunction(array<string|int, mixed> $result, string $fieldName, array<string|int, mixed> $items) : array<string|int, mixed>
Parameters
- $result : array<string|int, mixed>
-
Main result array
- $fieldName : string
-
Field name to handle item list for
- $items : array<string|int, mixed>
-
Existing items array
Return values
array<string|int, mixed> —New list of item elements