SubsiteState
        
        extends SiteState
    
    
            
            in package
            
        
    
            
            implements
                            SiteStateInterface                    
    
    
Class \Firesphere\SolrSubsites\States\SubsiteState
Apply states for Subsites
Table of Contents
Interfaces
- SiteStateInterface
 - Interface SiteStateInterface defines the methods every State altering must implement.
 
Constants
- DEFAULT_STATE = 'default'
 
Properties
- $enabled : bool
 - $states : array<string|int, mixed>
 - States that can be applied
 - $variants : array<string|int, mixed>
 - Variants of SiteState that can be activated
 - $defaultStates : array<string|int, mixed>
 - $state : string
 
Methods
- activateState() : void
 - Activate a given state. This should only be done if the state is applicable In the case of Subsites, we just want to disable the filter
 - addState() : void
 - Add a state
 - addStates() : void
 - Add multiple states
 - alterQuery() : void
 - Alter the query for each instance
 - appliesToEnvironment() : bool
 - Does this state apply to the current object/environment settings
 - currentState() : string|null
 - Return the current state of the site The current state does not need to be reset in any way for pages
 - currentStates() : array<string|int, mixed>
 - Get the current state of every variant
 - getDefaultStates() : array<string|int, mixed>
 - Get the states set as default
 - getStates() : array<string|int, mixed>
 - Get available states
 - hasExtension() : bool
 - Does this class, it's parent (or optionally one of it's children) have the passed extension attached?
 - isApplicable() : bool
 - Is this extension applied and instantiable, and should it be applied to the current state of the site
 - isEnabled() : bool
 - Is this state enabled
 - setDefaultState() : mixed
 - Reset the SiteState to it's default state In case of subsites, we don't care about it, as it's handled at query time
 - setDefaultStates() : void
 - Set the default states
 - setEnabled() : void
 - Set the state to whatever is required. Most commonly true
 - setStates() : void
 - Set states
 - stateIsApplicable() : bool
 - Is this state applicable to this extension In case of subsites, only apply if there actually are subsites
 - updateQuery() : void
 - Method to alter the query. Can be no-op.
 - variants() : array<string|int, mixed>
 - Returns an array of variants.
 - withState() : void
 - Activate a site state for indexing
 - addSubsiteFilter() : void
 - Add the Subsite specific filter if the class has the extension applied
 
Constants
DEFAULT_STATE
    public
        mixed
    DEFAULT_STATE
    = 'default'
    
    
    
Properties
$enabled
    public
        bool
    $enabled
     = true
    
        Is this State enabled
$states
States that can be applied
    public
    static    array<string|int, mixed>
    $states
     = [self::DEFAULT_STATE]
    
    
    
$variants
Variants of SiteState that can be activated
    public
    static    array<string|int, mixed>
    $variants
     = []
    
    
    
$defaultStates
    protected
    static    array<string|int, mixed>
    $defaultStates
     = []
    
        Default states
$state
    protected
        string
    $state
    
    
        current state
Methods
activateState()
Activate a given state. This should only be done if the state is applicable In the case of Subsites, we just want to disable the filter
    public
                    activateState(int $state) : void
    Parameters
- $state : int
 
addState()
Add a state
    public
            static        addState( $state) : void
    Parameters
Tags
addStates()
Add multiple states
    public
            static        addStates(array<string|int, mixed> $states) : void
    Parameters
- $states : array<string|int, mixed>
 
Tags
alterQuery()
Alter the query for each instance
    public
            static        alterQuery(BaseQuery &$query) : void
    Parameters
- $query : BaseQuery
 
Tags
appliesToEnvironment()
Does this state apply to the current object/environment settings
    public
                    appliesToEnvironment() : bool
    Return values
boolcurrentState()
Return the current state of the site The current state does not need to be reset in any way for pages
    public
                    currentState() : string|null
    Return values
string|nullcurrentStates()
Get the current state of every variant
    public
            static        currentStates() : array<string|int, mixed>
    Tags
Return values
array<string|int, mixed>getDefaultStates()
Get the states set as default
    public
            static        getDefaultStates() : array<string|int, mixed>
    Return values
array<string|int, mixed>getStates()
Get available states
    public
            static        getStates() : array<string|int, mixed>
    Tags
Return values
array<string|int, mixed>hasExtension()
Does this class, it's parent (or optionally one of it's children) have the passed extension attached?
    public
            static        hasExtension(string $class, string $extension) : bool
    Parameters
- $class : string
 - $extension : string
 
Tags
Return values
boolisApplicable()
Is this extension applied and instantiable, and should it be applied to the current state of the site
    public
            static        isApplicable( $variantClass) : bool
    Parameters
Tags
Return values
boolisEnabled()
Is this state enabled
    public
                    isEnabled() : bool
    Return values
boolsetDefaultState()
Reset the SiteState to it's default state In case of subsites, we don't care about it, as it's handled at query time
    public
                    setDefaultState([string|null $state = null ]) : mixed
    Parameters
- $state : string|null = null
 
setDefaultStates()
Set the default states
    public
            static        setDefaultStates(array<string|int, mixed> $defaultStates) : void
    Parameters
- $defaultStates : array<string|int, mixed>
 
setEnabled()
Set the state to whatever is required. Most commonly true
    public
                    setEnabled(bool $enabled) : void
    Parameters
- $enabled : bool
 
setStates()
Set states
    public
            static        setStates(array<string|int, mixed> $states) : void
    Parameters
- $states : array<string|int, mixed>
 
Tags
stateIsApplicable()
Is this state applicable to this extension In case of subsites, only apply if there actually are subsites
    public
                    stateIsApplicable(int|string $state) : bool
    Parameters
- $state : int|string
 
Return values
boolupdateQuery()
Method to alter the query. Can be no-op.
    public
                    updateQuery(BaseQuery &$query) : void
    Parameters
- $query : BaseQuery
 
variants()
Returns an array of variants.
    public
            static        variants([bool $force = false ]) : array<string|int, mixed>
    Parameters
- $force : bool = false
 - 
                    
Force updating the variants
 
Tags
Return values
array<string|int, mixed> —- An array of (string)$variantClassName => (Object)$variantInstance pairs
 
withState()
Activate a site state for indexing
    public
            static        withState( $state) : void
    Parameters
Tags
addSubsiteFilter()
Add the Subsite specific filter if the class has the extension applied
    protected
                    addSubsiteFilter(BaseQuery &$query, string $class) : void
    Parameters
- $query : BaseQuery
 - $class : string