MediaWiki  master
SkinFactory Class Reference

Factory class to create Skin objects. More...

Collaboration diagram for SkinFactory:

Public Member Functions

 __construct (ObjectFactory $objectFactory, array $skipSkins)
 
 getAllowedSkins ()
 Get the list of user-selectable skins. More...
 
 getInstalledSkins ()
 Get the list of installed skins. More...
 
 getSkinNames ()
 Return an associative array of skin name => human readable name. More...
 
 getSkinOptions (string $name)
 Return options provided for a given skin name. More...
 
 makeSkin ( $name)
 Create a given Skin using the registered callback for $name. More...
 
 register ( $name, $displayName, $spec, bool $skippable=null)
 Register a new skin. More...
 

Private Attributes

array $displayNames = []
 Map of name => fallback human-readable name, used when the 'skinname-<skin>' message is not available. More...
 
array< string, array|callable > $factoryFunctions = []
 Map of skin name to object factory spec or factory function. More...
 
ObjectFactory $objectFactory
 
array< string, int > $skipSkins
 Array of skins that should not be presented in the list of available skins in user preferences, while they're still installed. More...
 
const SKIP_BY_REGISTER = 2
 
const SKIP_BY_SITECONFIG = 1
 

Detailed Description

Factory class to create Skin objects.

Since
1.24

Definition at line 31 of file SkinFactory.php.

Constructor & Destructor Documentation

◆ __construct()

SkinFactory::__construct ( ObjectFactory  $objectFactory,
array  $skipSkins 
)
Access: internal
For ServiceWiring only
Parameters
ObjectFactory$objectFactory
string[]$skipSkins

Definition at line 67 of file SkinFactory.php.

References $objectFactory, and $skipSkins.

Member Function Documentation

◆ getAllowedSkins()

SkinFactory::getAllowedSkins ( )

Get the list of user-selectable skins.

Useful for Special:Preferences and other places where you only want to show skins users can select from preferences page, thus excluding those as configured by $wgSkipSkins.

Returns
string[]
Since
1.36

Definition at line 155 of file SkinFactory.php.

References getInstalledSkins().

◆ getInstalledSkins()

SkinFactory::getInstalledSkins ( )

Get the list of installed skins.

Returns an associative array of skin name => human readable name

Returns
string[]
Since
1.37

Definition at line 173 of file SkinFactory.php.

References $displayNames.

Referenced by getAllowedSkins().

◆ getSkinNames()

SkinFactory::getSkinNames ( )

Return an associative array of skin name => human readable name.

Deprecated:
since 1.37 Use getInstalledSkins instead
Returns
array

Definition at line 120 of file SkinFactory.php.

References $displayNames.

◆ getSkinOptions()

SkinFactory::getSkinOptions ( string  $name)

Return options provided for a given skin name.

Since
1.38
Parameters
string$nameName of the skin you want options from
Returns
array Skin options passed into constructor

Definition at line 184 of file SkinFactory.php.

◆ makeSkin()

SkinFactory::makeSkin (   $name)

Create a given Skin using the registered callback for $name.

Parameters
string$nameName of the skin you want
Exceptions
SkinExceptionIf a factory function isn't registered for $name
Returns
Skin

Definition at line 131 of file SkinFactory.php.

◆ register()

SkinFactory::register (   $name,
  $displayName,
  $spec,
bool  $skippable = null 
)

Register a new skin.

This will replace any previously registered skin by the same name.

Parameters
string$nameInternal skin name. See also Skin::__construct.
string$displayNameFor backwards-compatibility with old skin loading system. This is the text used as skin's human-readable name when the 'skinname-<skin>' message is not available.
array | callable$specObjectFactory spec to construct a Skin object, or callback that takes a skin name and returns a Skin object. See Skin::__construct for the constructor arguments.
true | null$skippableWhether the skin is skippable and should be hidden from user preferences. By default, this is determined based by $wgSkipSkins.

Definition at line 87 of file SkinFactory.php.

References SKIP_BY_REGISTER.

Member Data Documentation

◆ $displayNames

array SkinFactory::$displayNames = []
private

Map of name => fallback human-readable name, used when the 'skinname-<skin>' message is not available.

Definition at line 47 of file SkinFactory.php.

Referenced by getInstalledSkins(), and getSkinNames().

◆ $factoryFunctions

array<string,array|callable> SkinFactory::$factoryFunctions = []
private

Map of skin name to object factory spec or factory function.

Definition at line 40 of file SkinFactory.php.

◆ $objectFactory

ObjectFactory SkinFactory::$objectFactory
private

Definition at line 51 of file SkinFactory.php.

Referenced by __construct().

◆ $skipSkins

array<string,int> SkinFactory::$skipSkins
private

Array of skins that should not be presented in the list of available skins in user preferences, while they're still installed.

Definition at line 59 of file SkinFactory.php.

Referenced by __construct().

◆ SKIP_BY_REGISTER

const SkinFactory::SKIP_BY_REGISTER = 2
private

Definition at line 33 of file SkinFactory.php.

Referenced by register().

◆ SKIP_BY_SITECONFIG

const SkinFactory::SKIP_BY_SITECONFIG = 1
private

Definition at line 32 of file SkinFactory.php.


The documentation for this class was generated from the following file: