BlockablesSorter
extends AbstractPlugin
in package
Allows to sort blockables by multiple criteria. Blockables are applied from top to bottom, so the first blockable has the highest priority. This is useful for the blocking mechanism itself as the first matching blockable blocks the content. On the other hand, when using the scanner, multiple blockables can be applied to the same content.
Table of Contents
Properties
- $headlessContentBlocker : mixed
- $sorters : mixed
Methods
- __construct() : mixed
- C'tor.
- addSorter() : mixed
- Add a sorter to the sorter array. See class description for more details.
- afterSetup() : mixed
- The content blocker got setup completely.
- beforeMatch() : mixed
- Called before a match got found.
- beforeSetBlockedInResult() : bool
- Allows to add an additional check before a blockable and expression gets added to a `BlockedResult`.
- blockableStringExpression() : string
- Allows to modify the passed string expression to a blockable.
- blockedMatch() : mixed
- Called after a match got blocked.
- byPriority() : int
- Sorter by blockable priority (see `AbstractBlockable::getPriority()`).
- checkResult() : BlockedResult
- Called after a match got found and the matcher decided, if it should be blocked or not.
- getHeadlessContentBlocker() : mixed
- Getter.
- init() : mixed
- See `AbstractPlugin`.
- inlineStyleBlockRule() : bool
- Decide if a URL in a CSS rule should be blocked.
- inlineStyleModifyDocuments() : bool
- Allows to modify blocked CSS documents.
- inlineStyleShouldBeExtracted() : bool
- Do not extract blocked rules of a CSS inline script to a second document.
- iterateBlockablesInString() : mixed
- This method is run while iterating blockables and check if rules are found within a string.
- keepAlwaysAttributes() : array<string|int, string>
- Keep attributes for a specific match.
- modifyBlockables() : array<string|int, AbstractBlockable>
- See `AbstractPlugin`.
- modifyHtmlAfterProcessing() : mixed
- Allows to modify the HTML after the content blocker has done its job.
- notBlockedMatch() : mixed
- Called after a match got not blocked. Opposite of `blockedMatch`.
- setup() : mixed
- Before the content blocker gets setup.
- skipInlineScriptVariableAssignment() : array<string|int, string>
- Skip inline script by variable name.
- visualParent() : bool|string|number
- Set a visual parent for a specific match.
Properties
$headlessContentBlocker
private
mixed
$headlessContentBlocker
$sorters
private
mixed
$sorters
= []
Methods
__construct()
C'tor.
public
final __construct(HeadlessContentBlocker $headlessContentBlocker) : mixed
Parameters
- $headlessContentBlocker : HeadlessContentBlocker
addSorter()
Add a sorter to the sorter array. See class description for more details.
public
addSorter(callable $sorter[, int $priority = 10 ]) : mixed
Parameters
- $sorter : callable
-
Arguments:
AbstractBlockable $a, AbstractBlockable $b - $priority : int = 10
afterSetup()
The content blocker got setup completely.
public
afterSetup() : mixed
Tags
beforeMatch()
Called before a match got found.
public
beforeMatch(AbstractMatcher $matcher, AbstractMatch $match) : mixed
Parameters
- $matcher : AbstractMatcher
- $match : AbstractMatch
Tags
beforeSetBlockedInResult()
Allows to add an additional check before a blockable and expression gets added to a `BlockedResult`.
public
beforeSetBlockedInResult(BlockedResult $result, AbstractBlockable $blockable, string $expression, AbstractMatcher $matcher) : bool
Parameters
- $result : BlockedResult
- $blockable : AbstractBlockable
- $expression : string
- $matcher : AbstractMatcher
Tags
Return values
boolblockableStringExpression()
Allows to modify the passed string expression to a blockable.
public
blockableStringExpression(string $expression, AbstractBlockable $blockable) : string
Parameters
- $expression : string
- $blockable : AbstractBlockable
Tags
Return values
stringblockedMatch()
Called after a match got blocked.
public
blockedMatch(BlockedResult $result, AbstractMatcher $matcher, AbstractMatch $match) : mixed
Parameters
- $result : BlockedResult
- $matcher : AbstractMatcher
- $match : AbstractMatch
Tags
byPriority()
Sorter by blockable priority (see `AbstractBlockable::getPriority()`).
public
static byPriority(AbstractBlockable $a, AbstractBlockable $b) : int
Parameters
- $a : AbstractBlockable
- $b : AbstractBlockable
Return values
intcheckResult()
Called after a match got found and the matcher decided, if it should be blocked or not.
public
checkResult(BlockedResult $result, AbstractMatcher $matcher, AbstractMatch $match) : BlockedResult
Parameters
- $result : BlockedResult
- $matcher : AbstractMatcher
- $match : AbstractMatch
Tags
Return values
BlockedResultgetHeadlessContentBlocker()
Getter.
public
final getHeadlessContentBlocker() : mixed
init()
See `AbstractPlugin`.
public
init() : mixed
inlineStyleBlockRule()
Decide if a URL in a CSS rule should be blocked.
public
inlineStyleBlockRule(BlockedResult $result, string $url, StyleInlineMatcher|StyleInlineAttributeMatcher $matcher, StyleInlineMatch|StyleInlineAttributeMatch $match) : bool
Parameters
- $result : BlockedResult
- $url : string
- $matcher : StyleInlineMatcher|StyleInlineAttributeMatcher
- $match : StyleInlineMatch|StyleInlineAttributeMatch
Tags
Return values
boolinlineStyleModifyDocuments()
Allows to modify blocked CSS documents.
public
inlineStyleModifyDocuments(Document $document, Document $extractedDocument, StyleInlineMatcher|StyleInlineAttributeMatcher $matcher, StyleInlineMatch|StyleInlineAttributeMatch $match) : bool
Parameters
- $document : Document
- $extractedDocument : Document
- $matcher : StyleInlineMatcher|StyleInlineAttributeMatcher
- $match : StyleInlineMatch|StyleInlineAttributeMatch
Tags
Return values
boolinlineStyleShouldBeExtracted()
Do not extract blocked rules of a CSS inline script to a second document.
public
inlineStyleShouldBeExtracted(bool $extract, StyleInlineMatcher|StyleInlineAttributeMatcher $matcher, StyleInlineMatch|StyleInlineAttributeMatch $match) : bool
Parameters
- $extract : bool
- $matcher : StyleInlineMatcher|StyleInlineAttributeMatcher
- $match : StyleInlineMatch|StyleInlineAttributeMatch
Tags
Return values
booliterateBlockablesInString()
This method is run while iterating blockables and check if rules are found within a string.
public
iterateBlockablesInString(AbstractMatcher $matcher, BlockedResult $result, string $string, bool $useContainsRegularExpression, bool $multilineRegexp, array<string|int, string> $useRegularExpressionFromMap, array<string|int, AbstractBlockable> $useBlockables, bool $allowMultiple) : mixed
It allows you to add additional blockables to the result even if isAllowMultipleBlockerResults is false.
Note: All required IDs from each matching Blockable will be merged together, but only the ID of the first Blockable found
will be assigned as the consent-id of the element.
Parameters
- $matcher : AbstractMatcher
- $result : BlockedResult
- $string : string
- $useContainsRegularExpression : bool
- $multilineRegexp : bool
- $useRegularExpressionFromMap : array<string|int, string>
- $useBlockables : array<string|int, AbstractBlockable>
- $allowMultiple : bool
Tags
keepAlwaysAttributes()
Keep attributes for a specific match.
public
keepAlwaysAttributes(array<string|int, string> $keepAttributes, AbstractMatcher $matcher, AbstractMatch $match) : array<string|int, string>
Parameters
- $keepAttributes : array<string|int, string>
- $matcher : AbstractMatcher
- $match : AbstractMatch
Tags
Return values
array<string|int, string>modifyBlockables()
See `AbstractPlugin`.
public
modifyBlockables(array<string|int, AbstractBlockable> $blockables) : array<string|int, AbstractBlockable>
Parameters
- $blockables : array<string|int, AbstractBlockable>
Return values
array<string|int, AbstractBlockable>modifyHtmlAfterProcessing()
Allows to modify the HTML after the content blocker has done its job.
public
modifyHtmlAfterProcessing(string $html) : mixed
Parameters
- $html : string
Tags
notBlockedMatch()
Called after a match got not blocked. Opposite of `blockedMatch`.
public
notBlockedMatch(BlockedResult $result, AbstractMatcher $matcher, AbstractMatch $match) : mixed
Parameters
- $result : BlockedResult
- $matcher : AbstractMatcher
- $match : AbstractMatch
Tags
setup()
Before the content blocker gets setup.
public
setup() : mixed
Tags
skipInlineScriptVariableAssignment()
Skip inline script by variable name.
public
skipInlineScriptVariableAssignment(array<string|int, string> $names, ScriptInlineMatcher $matcher, ScriptInlineMatch $match) : array<string|int, string>
Parameters
- $names : array<string|int, string>
- $matcher : ScriptInlineMatcher
- $match : ScriptInlineMatch
Tags
Return values
array<string|int, string>visualParent()
Set a visual parent for a specific match.
public
visualParent(bool|string|number $visualParent, AbstractMatcher $matcher, AbstractMatch $match) : bool|string|number
Parameters
- $visualParent : bool|string|number
- $matcher : AbstractMatcher
- $match : AbstractMatch