TcfVendorDomainsBlockable
        
        extends AbstractBlockable
    
    
            
            in package
            
        
    
    
    
Describe an item for `TcfForwardGdprStringInUrl`.
Table of Contents
Constants
- DATA_KEY_LEGAL_BASIS = 'legalBasis'
- Key of blockable data to store the legal basis (multiple legal basis are possible) as string array. If one of the legal basis is `legitimate-interest`, the blockable has higher priority.
- SKIP_DOMAINS = [ // This modifies all available links, so skip it '*', ]
Properties
- $data : mixed
- $expressionToStrposCache : mixed
- $headlessContentBlocker : mixed
- $originalExpressions : array<string|int, string>
- Original rules from string rules.
- $regexp : mixed
- $selectorSyntaxFinder : array<string|int, SelectorSyntaxFinder>
- See `SelectorSyntaxFinder`.
- $variables : array<string|int, string>
- Variables can be passed as rule in format `:$myVar=...` and can be reused in selector syntax function arguments.
- $vendorId : mixed
Methods
- __construct() : mixed
- C'tor.
- appendFromStringArray() : mixed
- Generate the custom element blockers and regular expressions and append it to this blockable instance.
- findSelectorSyntaxFinderForMatch() : mixed
- Find a `SyntaxSelectorFinder` for a given `AbstractMatch`.
- getBlockerId() : int|string|null
- Get the blocker ID. This is added as a custom HTML attribute to the blocked element so your frontend can e.g. add a visual content blocker.
- getContainsRegularExpressions() : array<string|int, string>
- Getter.
- getCriteria() : string
- The criteria type. This is added as a custom HTML attribute to the blocked element so your frontend can determine the origin for the `getRequiredIds`.
- getData() : mixed
- Get additional data.
- getOriginalExpressions() : array<string|int, string>
- Getter.
- getPriority() : int
- Get the priority of the blockable. It gets reused in `BlockablesSorter` to sort the blockables.
- getRegularExpressions() : array<string|int, string>
- Getter.
- getRequiredIds() : array<string|int, int|string>
- Get required IDs. This is added as a custom HTML attribute to the blocked element so your frontend can determine which items by ID are needed so the item can be unblocked.
- getSelectorSyntaxFinder() : mixed
- Getter.
- getVariable() : mixed
- getVariables() : mixed
- getVendorId() : mixed
- Getter.
- hasBlockerId() : mixed
- Determine if this blockable should be blocked.
- matchesExpressionLoose() : mixed
- It is a performance-boost to extract the searchable strings for this expression, so we can first check for simple `contains` pattern with `strpos` instead of expensive `preg_match`.
- matchesLoose() : mixed
- Check if the blockable matches the expression loosely.
- setData() : mixed
- Allows to set additional data for this blockable.
Constants
DATA_KEY_LEGAL_BASIS
Key of blockable data to store the legal basis (multiple legal basis are possible) as string array. If one of the legal basis is `legitimate-interest`, the blockable has higher priority.
    public
        mixed
    DATA_KEY_LEGAL_BASIS
    = 'legalBasis'
    
    
    
SKIP_DOMAINS
    public
        mixed
    SKIP_DOMAINS
    = [
    // This modifies all available links, so skip it
    '*',
]
    
    
    
Properties
$data
    private
        mixed
    $data
     = []
    
    
    
$expressionToStrposCache
    private
        mixed
    $expressionToStrposCache
     = null
    
    
    
$headlessContentBlocker
    private
        mixed
    $headlessContentBlocker
    
    
    
    
$originalExpressions
Original rules from string rules.
    private
        array<string|int, string>
    $originalExpressions
     = []
    
    
    
$regexp
    private
        mixed
    $regexp
     = ['wildcard' => [], 'contains' => []]
    
    
    
$selectorSyntaxFinder
See `SelectorSyntaxFinder`.
    private
        array<string|int, SelectorSyntaxFinder>
    $selectorSyntaxFinder
     = []
    
    
    
$variables
Variables can be passed as rule in format `:$myVar=...` and can be reused in selector syntax function arguments.
    private
        array<string|int, string>
    $variables
     = []
    
    
    
$vendorId
    private
        mixed
    $vendorId
    
    
    
    
Methods
__construct()
C'tor.
    public
                    __construct(HeadlessContentBlocker $headlessContentBlocker, int $vendorId, array<string|int, mixed> $domains) : mixed
    Parameters
- $headlessContentBlocker : HeadlessContentBlocker
- $vendorId : int
- $domains : array<string|int, mixed>
appendFromStringArray()
Generate the custom element blockers and regular expressions and append it to this blockable instance.
    public
                    appendFromStringArray(array<string|int, string> $blockers) : mixed
    Parameters
- $blockers : array<string|int, string>
findSelectorSyntaxFinderForMatch()
Find a `SyntaxSelectorFinder` for a given `AbstractMatch`.
    public
                    findSelectorSyntaxFinderForMatch(AbstractMatch $match) : mixed
    Parameters
- $match : AbstractMatch
getBlockerId()
Get the blocker ID. This is added as a custom HTML attribute to the blocked element so your frontend can e.g. add a visual content blocker.
    public
                    getBlockerId() : int|string|null
    Return values
int|string|nullgetContainsRegularExpressions()
Getter.
    public
                    getContainsRegularExpressions() : array<string|int, string>
    Return values
array<string|int, string>getCriteria()
The criteria type. This is added as a custom HTML attribute to the blocked element so your frontend can determine the origin for the `getRequiredIds`.
    public
                    getCriteria() : string
    E.g. differ between TCF vendors and another custom criteria.
Return values
stringgetData()
Get additional data.
    public
                    getData(string $key) : mixed
    Parameters
- $key : string
getOriginalExpressions()
Getter.
    public
                    getOriginalExpressions() : array<string|int, string>
    Return values
array<string|int, string>getPriority()
Get the priority of the blockable. It gets reused in `BlockablesSorter` to sort the blockables.
    public
                    getPriority() : int
    If lower, the blockable gets sorted to the top.
Return values
intgetRegularExpressions()
Getter.
    public
                    getRegularExpressions() : array<string|int, string>
    Return values
array<string|int, string>getRequiredIds()
Get required IDs. This is added as a custom HTML attribute to the blocked element so your frontend can determine which items by ID are needed so the item can be unblocked.
    public
                    getRequiredIds() : array<string|int, int|string>
    Return values
array<string|int, int|string>getSelectorSyntaxFinder()
Getter.
    public
                    getSelectorSyntaxFinder() : mixed
    Tags
getVariable()
    public
                    getVariable(mixed $variableName[, mixed $default = '' ]) : mixed
    Parameters
- $variableName : mixed
- $default : mixed = ''
getVariables()
    public
                    getVariables() : mixed
    getVendorId()
Getter.
    public
                    getVendorId() : mixed
    hasBlockerId()
Determine if this blockable should be blocked.
    public
                    hasBlockerId() : mixed
    matchesExpressionLoose()
It is a performance-boost to extract the searchable strings for this expression, so we can first check for simple `contains` pattern with `strpos` instead of expensive `preg_match`.
    public
                    matchesExpressionLoose(string $expression, string $str) : mixed
    Parameters
- $expression : string
- $str : string
matchesLoose()
Check if the blockable matches the expression loosely.
    public
                    matchesLoose(string $str) : mixed
    Parameters
- $str : string
setData()
Allows to set additional data for this blockable.
    public
                    setData(string $key, mixed $data) : mixed
    Parameters
- $key : string
- $data : mixed