Manual:User preferences

From MediaWiki.org
Jump to: navigation, search

Retrieving user preferences[edit]

To retrieve all of a user's preferences, use User::getOptions().

To retrieve a specific preference of a user, use User::getOption() with the name of the preference as a parameter, for example:

$emailFrequency = $user->getOption( 'echo-email-frequency' );

If the preference is of the multiselect or checkmatrix type, the parameter will be <preference-name><option-value>. For example, if the preference name is 'searchNs' and the option value is '2', the parameter for getOption will be 'searchNs2'. There is an exception to this, however: If the preference specifies an explicit option prefix, that prefix will be used instead of the preference name (<prefix-name><option-value>). See the Gadgets extension for an example.

To retrieve it in JavaScript, use the user.options module.

Setting default preferences[edit]

For information about how to set default preferences for all users, see Manual:$wgDefaultUserOptions.

Changing a preference[edit]

Preferences can be changed through the options API action.

Creating a preferences interface[edit]

For information about creating a preferences interface for your features, see Manual:Hooks/GetPreferences.

Gadget and user script preferences[edit]

Any gadget or user script can define a preference, the name of which must start with 'userjs-'. This will not appear in Special:Preferences or be validated, but it can be read from user.options, and set through API:Options.

Hidden API preferences[edit]

API preferences are also defined through the GetPreferences hook, with the type set to 'api'. They are validated and readable the normal ways, but are not part of the Special:Preferences form.

Disabling user preferences[edit]

By preference[edit]

MediaWiki version: 1.16

To disable individual preferences for all users, add preference names to the $wgHiddenPrefs configuration variable. For example, to prevent everyone from being able to mark their edits minor by default, set the following in your LocalSettings.php:

$wgHiddenPrefs[] = 'minordefault';

By user group[edit]

MediaWiki version: 1.22

To prevent individual user groups from editing their preferences, you can use the 'editmyoptions' {{manual:|User rights|user right}}. With this line in your LocalSettings.php, users in the group 'user' (which contains all logged in users) can't edit their user preferences:

$wgGroupPermissions['user']['editmyoptions'] = false;

By user[edit]

It is not possible to disable only certain individual users' preferences.

See also[edit]