MediaWiki  1.34.0
MediaWiki\Preferences\PreferencesFactory Interface Reference

A PreferencesFactory is a MediaWiki service that provides the definitions of preferences for a given user. More...

Inheritance diagram for MediaWiki\Preferences\PreferencesFactory:

Public Member Functions

 getForm (User $user, IContextSource $contextSource, $formClass=PreferencesFormOOUI::class, array $remove=[])
 Get the preferences form for a given user. More...
 
 getFormDescriptor (User $user, IContextSource $contextSource)
 Get the preferences form descriptor. More...
 
 getSaveBlacklist ()
 Get the names of preferences that should never be saved (such as 'realname' and 'emailaddress'). More...
 

Detailed Description

A PreferencesFactory is a MediaWiki service that provides the definitions of preferences for a given user.

These definitions are in the form of an HTMLForm descriptor.

PreferencesFormOOUI (a subclass of HTMLForm) is used to generate the Preferences form, and handles generic submission, CSRF protection, layout and other logic in a reusable manner.

In order to generate the form, the HTMLForm object needs an array structure detailing the form fields available, and that's what this implementations of this interface provide. Each element of the array is a basic property-list, including the type of field, the label it is to be given in the form, callbacks for validation and 'filtering', and other pertinent information. Note that the 'default' field is named for generic forms, and does not represent the preference's default (which is stored in $wgDefaultUserOptions), but the default for the form field, which should be whatever the user has set for that preference. There is no need to override it unless you have some special storage logic (for instance, those not presently stored as options, but which are best set from the user preferences view).

Field types are implemented as subclasses of the generic HTMLFormField object, and typically implement at least getInputHTML, which generates the HTML for the input field to be placed in the table.

Once fields have been retrieved and validated, submission logic is handed over to the submitForm() method of this interface.

Definition at line 52 of file PreferencesFactory.php.

Member Function Documentation

◆ getForm()

MediaWiki\Preferences\PreferencesFactory::getForm ( User  $user,
IContextSource  $contextSource,
  $formClass = PreferencesFormOOUI::class,
array  $remove = [] 
)

Get the preferences form for a given user.

This method retrieves the form descriptor for the user, instantiates a new form using the descriptor and returns the instantiated form object.

Parameters
User$user
IContextSource$contextSource
string$formClass
array$remove
Returns
HTMLForm

Implemented in MediaWiki\Preferences\DefaultPreferencesFactory.

◆ getFormDescriptor()

MediaWiki\Preferences\PreferencesFactory::getFormDescriptor ( User  $user,
IContextSource  $contextSource 
)

Get the preferences form descriptor.

Parameters
User$user
IContextSource$contextSource
Returns
mixed[][] An HTMLForm descriptor array.

Implemented in MediaWiki\Preferences\DefaultPreferencesFactory.

◆ getSaveBlacklist()

MediaWiki\Preferences\PreferencesFactory::getSaveBlacklist ( )

Get the names of preferences that should never be saved (such as 'realname' and 'emailaddress').

Returns
string[]

Implemented in MediaWiki\Preferences\DefaultPreferencesFactory.


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