MediaWiki REL1_39
|
A PreferencesFactory is a MediaWiki service that provides the definitions of preferences for a given user. More...
Public Member Functions | |
getForm (User $user, IContextSource $contextSource, $formClass=PreferencesFormOOUI::class, array $remove=[]) | |
Get the preferences form for a given user. | |
getFormDescriptor (User $user, IContextSource $contextSource) | |
Get the preferences form descriptor. | |
getSaveBlacklist () | |
Get the names of preferences that should never be saved (such as 'realname' and 'emailaddress'). | |
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 54 of file PreferencesFactory.php.
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.
User | $user | |
IContextSource | $contextSource | |
string | $formClass | |
array | $remove |
Implemented in MediaWiki\Preferences\DefaultPreferencesFactory.
MediaWiki\Preferences\PreferencesFactory::getFormDescriptor | ( | User | $user, |
IContextSource | $contextSource ) |
Get the preferences form descriptor.
User | $user | |
IContextSource | $contextSource |
Implemented in MediaWiki\Preferences\DefaultPreferencesFactory.
MediaWiki\Preferences\PreferencesFactory::getSaveBlacklist | ( | ) |
Get the names of preferences that should never be saved (such as 'realname' and 'emailaddress').
Implemented in MediaWiki\Preferences\DefaultPreferencesFactory.