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.
- 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
    beforeMatch()
Called before a match got found.
    public
                    beforeMatch(AbstractMatcher $matcher, AbstractMatch $match) : mixed
    Parameters
- $matcher : AbstractMatcher
- $match : AbstractMatch
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
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
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
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
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
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
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
Return values
boolkeepAlwaysAttributes()
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
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
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
setup()
Before the content blocker gets setup.
    public
                    setup() : mixed
    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
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