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\WorkspaceRestriction::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|null $context = null ]) : mixed
    Initializes the default restrictions for frontend requests
Parameters
- $context : Context|null = 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