FrontendRestrictionContainer extends AbstractRestrictionContainer
A collection of restrictions to be used in frontend context.
This is a replacement for PageRepository::enableFields()
Table of Contents
Properties
- $context : Context
- $defaultRestrictionTypes : array<string|int, string>
- $enforcedRestrictions : array<string|int, QueryRestrictionInterface>
- $restrictions : array<string|int, QueryRestrictionInterface>
Methods
- __construct() : mixed
- FrontendRestrictionContainer constructor.
- add() : QueryRestrictionContainerInterface
- Add a new restriction instance to this collection
- buildExpression() : CompositeExpression
- Main method to build expressions for given tables Iterates over all registered restrictions and removes the hidden restriction if preview is requested
- removeAll() : QueryRestrictionContainerInterface
- Removes all restrictions stored within this container
- removeByType() : QueryRestrictionContainerInterface
- Remove restriction of a given type
- createRestriction() : QueryRestrictionInterface
- Factory method for restrictions.
Properties
$context
protected
Context
$context
$defaultRestrictionTypes
protected
array<string|int, string>
$defaultRestrictionTypes
= [\TYPO3\CMS\Core\Database\Query\Restriction\DeletedRestriction::class, \TYPO3\CMS\Core\Database\Query\Restriction\FrontendWorkspaceRestriction::class, \TYPO3\CMS\Core\Database\Query\Restriction\HiddenRestriction::class, \TYPO3\CMS\Core\Database\Query\Restriction\StartTimeRestriction::class, \TYPO3\CMS\Core\Database\Query\Restriction\EndTimeRestriction::class, \TYPO3\CMS\Core\Database\Query\Restriction\FrontendGroupRestriction::class]
$enforcedRestrictions
protected
array<string|int, QueryRestrictionInterface>
$enforcedRestrictions
= []
$restrictions
protected
array<string|int, QueryRestrictionInterface>
$restrictions
= []
Methods
__construct()
FrontendRestrictionContainer constructor.
public
__construct([Context $context = null ]) : mixed
Initializes the default restrictions for frontend requests
Parameters
- $context : Context = null
add()
Add a new restriction instance to this collection
public
add(QueryRestrictionInterface $restriction) : QueryRestrictionContainerInterface
Parameters
- $restriction : QueryRestrictionInterface
Return values
QueryRestrictionContainerInterfacebuildExpression()
Main method to build expressions for given tables Iterates over all registered restrictions and removes the hidden restriction if preview is requested
public
buildExpression(array<string|int, mixed> $queriedTables, ExpressionBuilder $expressionBuilder) : CompositeExpression
Parameters
- $queriedTables : array<string|int, mixed>
-
Array of tables, where array key is table alias and value is a table name
- $expressionBuilder : ExpressionBuilder
-
Expression builder instance to add restrictions with
Return values
CompositeExpression —The result of query builder expression(s)
removeAll()
Removes all restrictions stored within this container
public
removeAll() : QueryRestrictionContainerInterface
Return values
QueryRestrictionContainerInterfaceremoveByType()
Remove restriction of a given type
public
removeByType(string $restrictionType) : QueryRestrictionContainerInterface
Parameters
- $restrictionType : string
-
Class name of the restriction to be removed
Return values
QueryRestrictionContainerInterfacecreateRestriction()
Factory method for restrictions.
protected
createRestriction(mixed $restrictionClass) : QueryRestrictionInterface
Currently only instantiates the class.
Parameters
- $restrictionClass : mixed