MediaWiki
master
|
A service class to control user options. More...
Public Member Functions | ||||||||||||||||
__construct (ServiceOptions $options, DefaultOptionsLookup $defaultOptionsLookup, LanguageConverterFactory $languageConverterFactory, ILoadBalancer $loadBalancer, LoggerInterface $logger, HookContainer $hookContainer, UserFactory $userFactory) | ||||||||||||||||
clearUserOptionsCache (UserIdentity $user) | ||||||||||||||||
Clears cached user options. More... | ||||||||||||||||
getDefaultOptions () | ||||||||||||||||
Combine the language default options with any site-specific options and add the default language variants.
| ||||||||||||||||
getOption (UserIdentity $user, string $oname, $defaultOverride=null, bool $ignoreHidden=false, int $queryFlags=self::READ_NORMAL) | ||||||||||||||||
Get the user's current setting for a given option.
| ||||||||||||||||
getOptionKinds (UserIdentity $userIdentity, IContextSource $context, $options=null) | ||||||||||||||||
Return an associative array mapping preferences keys to the kind of a preference they're used for. More... | ||||||||||||||||
getOptions (UserIdentity $user, int $flags=0, int $queryFlags=self::READ_NORMAL) | ||||||||||||||||
Get all user's options.
| ||||||||||||||||
listOptionKinds () | ||||||||||||||||
Return a list of the types of user options currently returned by UserOptionsManager::getOptionKinds(). More... | ||||||||||||||||
loadUserOptions (UserIdentity $user, int $queryFlags=self::READ_NORMAL, array $data=null) | ||||||||||||||||
Loads user options either from cache or from the database. More... | ||||||||||||||||
resetOptions (UserIdentity $user, IContextSource $context, $resetKinds=[ 'registered', 'registered-multiselect', 'registered-checkmatrix', 'unused']) | ||||||||||||||||
Reset certain (or all) options to the site defaults. More... | ||||||||||||||||
saveOptions (UserIdentity $user) | ||||||||||||||||
Saves the non-default options for this user, as previously set e.g. More... | ||||||||||||||||
saveOptionsInternal (UserIdentity $user, IDatabase $dbw) | ||||||||||||||||
Saves the non-default options for this user, as previously set e.g. More... | ||||||||||||||||
setOption (UserIdentity $user, string $oname, $val) | ||||||||||||||||
Set the given option for a user. More... | ||||||||||||||||
![]() | ||||||||||||||||
getBoolOption (UserIdentity $user, string $oname, int $queryFlags=self::READ_NORMAL) | ||||||||||||||||
Get the user's current setting for a given option, as a boolean value. More... | ||||||||||||||||
getDefaultOption (string $opt) | ||||||||||||||||
Get a given default option value. More... | ||||||||||||||||
getIntOption (UserIdentity $user, string $oname, int $defaultOverride=0, int $queryFlags=self::READ_NORMAL) | ||||||||||||||||
Get the user's current setting for a given option, as an integer value. More... | ||||||||||||||||
Public Attributes | |
const | CONSTRUCTOR_OPTIONS |
![]() | |
const | EXCLUDE_DEFAULTS = 1 |
Exclude user options that are set to their default value. More... | |
![]() | |
const | READ_NONE = -1 |
Constants for object loading bitfield flags (higher => higher QoS) More... | |
Private Member Functions | |
canUseCachedValues (UserIdentity $user, int $queryFlags) | |
Determines if it's ok to use cached options values for a given user and query flags. More... | |
getCacheKey (UserIdentity $user) | |
Gets a key for various caches. More... | |
getDBAndOptionsForQueryFlags ( $queryFlags) | |
isValueEqual ( $a, $b) | |
Determines whether two values are sufficiently similar that the database does not need to be updated to reflect the change. More... | |
loadOptionsFromDb (UserIdentity $user, int $queryFlags, array $prefetchedOptions=null) | |
Fetches the options directly from the database with no caches. More... | |
loadOriginalOptions (UserIdentity $user, int $queryFlags=self::READ_NORMAL, array $data=null) | |
Loads the original user options from the database and applies various transforms, like timecorrection. More... | |
setOptionsFromDb (UserIdentity $user, int $queryFlags, iterable $rows) | |
Builds associative options array from rows fetched from DB. More... | |
Private Attributes | |
DefaultOptionsLookup | $defaultOptionsLookup |
HookRunner | $hookRunner |
LanguageConverterFactory | $languageConverterFactory |
ILoadBalancer | $loadBalancer |
LoggerInterface | $logger |
array | $modifiedOptions = [] |
options modified withing this request More... | |
array | $optionsFromDb = [] |
Cached original user options as fetched from database, no adjustments applied. More... | |
array | $originalOptionsCache = [] |
Cached original user options with all the adjustments like time correction and hook changes applied. More... | |
array | $queryFlagsUsedForCaching = [] |
Query flags used to retrieve options from database. More... | |
ServiceOptions | $serviceOptions |
UserFactory | $userFactory |
A service class to control user options.
Definition at line 44 of file UserOptionsManager.php.
MediaWiki\User\UserOptionsManager::__construct | ( | ServiceOptions | $options, |
DefaultOptionsLookup | $defaultOptionsLookup, | ||
LanguageConverterFactory | $languageConverterFactory, | ||
ILoadBalancer | $loadBalancer, | ||
LoggerInterface | $logger, | ||
HookContainer | $hookContainer, | ||
UserFactory | $userFactory | ||
) |
ServiceOptions | $options | |
DefaultOptionsLookup | $defaultOptionsLookup | |
LanguageConverterFactory | $languageConverterFactory | |
ILoadBalancer | $loadBalancer | |
LoggerInterface | $logger | |
HookContainer | $hookContainer | |
UserFactory | $userFactory |
Definition at line 103 of file UserOptionsManager.php.
References MediaWiki\User\UserOptionsManager\$defaultOptionsLookup, MediaWiki\User\UserOptionsManager\$languageConverterFactory, MediaWiki\User\UserOptionsManager\$loadBalancer, MediaWiki\User\UserOptionsManager\$logger, MediaWiki\User\UserOptionsManager\$userFactory, and MediaWiki\Config\ServiceOptions\assertRequiredOptions().
|
private |
Determines if it's ok to use cached options values for a given user and query flags.
UserIdentity | $user | |
int | $queryFlags |
Definition at line 663 of file UserOptionsManager.php.
MediaWiki\User\UserOptionsManager::clearUserOptionsCache | ( | UserIdentity | $user | ) |
Clears cached user options.
UserIdentity | $user |
Definition at line 507 of file UserOptionsManager.php.
|
private |
Gets a key for various caches.
UserIdentity | $user |
Definition at line 644 of file UserOptionsManager.php.
|
private |
int | $queryFlags | a bit field composed of READ_XXX flags |
Definition at line 652 of file UserOptionsManager.php.
MediaWiki\User\UserOptionsManager::getDefaultOptions | ( | ) |
Combine the language default options with any site-specific options and add the default language variants.
Reimplemented from MediaWiki\User\UserOptionsLookup.
Definition at line 125 of file UserOptionsManager.php.
MediaWiki\User\UserOptionsManager::getOption | ( | UserIdentity | $user, |
string | $oname, | ||
$defaultOverride = null , |
|||
bool | $ignoreHidden = false , |
||
int | $queryFlags = self::READ_NORMAL |
||
) |
Get the user's current setting for a given option.
UserIdentity | $user | The user to get the option for |
string | $oname | The option to check |
mixed | null | $defaultOverride | A default value returned if the option does not exist |
bool | $ignoreHidden | Whether to ignore the effects of $wgHiddenPrefs |
int | $queryFlags | A bit field composed of READ_XXX flags |
Reimplemented from MediaWiki\User\UserOptionsLookup.
Definition at line 132 of file UserOptionsManager.php.
References MediaWiki\MainConfigNames\HiddenPrefs.
MediaWiki\User\UserOptionsManager::getOptionKinds | ( | UserIdentity | $userIdentity, |
IContextSource | $context, | ||
$options = null |
|||
) |
Return an associative array mapping preferences keys to the kind of a preference they're used for.
Different kinds are handled differently when setting or reading preferences.
See UserOptionsManager::listOptionKinds for the list of valid option types that can be provided.
UserIdentity | $userIdentity | |
IContextSource | $context | |
array | null | $options | Assoc. array with options keys to check as keys. Defaults user options. |
Definition at line 303 of file UserOptionsManager.php.
MediaWiki\User\UserOptionsManager::getOptions | ( | UserIdentity | $user, |
int | $flags = 0 , |
||
int | $queryFlags = self::READ_NORMAL |
||
) |
Get all user's options.
UserIdentity | $user | The user to get the option for |
int | $flags | Bitwise combination of: UserOptionsManager::EXCLUDE_DEFAULTS Exclude user options that are set to the default value. |
int | $queryFlags | A bit field composed of READ_XXX flags |
Reimplemented from MediaWiki\User\UserOptionsLookup.
Definition at line 158 of file UserOptionsManager.php.
|
private |
Determines whether two values are sufficiently similar that the database does not need to be updated to reflect the change.
This is basically the same as comparing the result of Database::addQuotes().
mixed | $a | |
mixed | $b |
Definition at line 683 of file UserOptionsManager.php.
MediaWiki\User\UserOptionsManager::listOptionKinds | ( | ) |
Return a list of the types of user options currently returned by UserOptionsManager::getOptionKinds().
Currently, the option kinds are:
The API (and possibly others) use this function to determine the possible option types for validation purposes, so make sure to update this when a new option kind is added.
Definition at line 279 of file UserOptionsManager.php.
|
private |
Fetches the options directly from the database with no caches.
UserIdentity | $user | |
int | $queryFlags | |
array | null | $prefetchedOptions |
Definition at line 523 of file UserOptionsManager.php.
References $dbr, $res, and MediaWiki\User\UserIdentity\getId().
|
private |
Loads the original user options from the database and applies various transforms, like timecorrection.
Runs hooks.
UserIdentity | $user | |
int | $queryFlags | |
array | null | $data | associative array of non-default options |
Definition at line 590 of file UserOptionsManager.php.
MediaWiki\User\UserOptionsManager::loadUserOptions | ( | UserIdentity | $user, |
int | $queryFlags = self::READ_NORMAL , |
||
array | $data = null |
||
) |
Loads user options either from cache or from the database.
UserIdentity | $user | |
int | $queryFlags | |
array | null | $data | associative array of non-default options. |
Definition at line 492 of file UserOptionsManager.php.
MediaWiki\User\UserOptionsManager::resetOptions | ( | UserIdentity | $user, |
IContextSource | $context, | ||
$resetKinds = [ 'registered' , |
|||
'registered-multiselect' | , | ||
'registered-checkmatrix' | , | ||
'unused'] | |||
) |
Reset certain (or all) options to the site defaults.
The optional parameter determines which kinds of preferences will be reset. Supported values are everything that can be reported by getOptionKinds() and 'all', which forces a reset of all preferences and overrides everything else.
UserIdentity | $user | |
IContextSource | $context | Context source used when $resetKinds does not contain 'all'. |
array | string | $resetKinds | Which kinds of preferences to reset. Defaults to [ 'registered', 'registered-multiselect', 'registered-checkmatrix', 'unused' ] |
Definition at line 222 of file UserOptionsManager.php.
MediaWiki\User\UserOptionsManager::saveOptions | ( | UserIdentity | $user | ) |
Saves the non-default options for this user, as previously set e.g.
via setOption(), in the database's "user_properties" (preferences) table.
UserIdentity | $user |
Definition at line 389 of file UserOptionsManager.php.
References DB_PRIMARY.
MediaWiki\User\UserOptionsManager::saveOptionsInternal | ( | UserIdentity | $user, |
IDatabase | $dbw | ||
) |
Saves the non-default options for this user, as previously set e.g.
via setOption(), in the database's "user_properties" (preferences) table.
UserIdentity | $user | |
IDatabase | $dbw |
Definition at line 415 of file UserOptionsManager.php.
MediaWiki\User\UserOptionsManager::setOption | ( | UserIdentity | $user, |
string | $oname, | ||
$val | |||
) |
Set the given option for a user.
You need to call saveOptions() to actually write to the database.
UserIdentity | $user | |
string | $oname | The option to set |
mixed | $val | New value to set |
Definition at line 200 of file UserOptionsManager.php.
|
private |
Builds associative options array from rows fetched from DB.
UserIdentity | $user | |
int | $queryFlags | |
iterable<object|array> | $rows |
Definition at line 558 of file UserOptionsManager.php.
|
private |
Definition at line 58 of file UserOptionsManager.php.
Referenced by MediaWiki\User\UserOptionsManager\__construct().
|
private |
Definition at line 89 of file UserOptionsManager.php.
|
private |
Definition at line 61 of file UserOptionsManager.php.
Referenced by MediaWiki\User\UserOptionsManager\__construct().
|
private |
Definition at line 64 of file UserOptionsManager.php.
Referenced by MediaWiki\User\UserOptionsManager\__construct().
|
private |
Definition at line 70 of file UserOptionsManager.php.
Referenced by MediaWiki\User\UserOptionsManager\__construct().
|
private |
options modified withing this request
Definition at line 73 of file UserOptionsManager.php.
|
private |
Cached original user options as fetched from database, no adjustments applied.
Definition at line 86 of file UserOptionsManager.php.
|
private |
Cached original user options with all the adjustments like time correction and hook changes applied.
Ready to be returned.
Definition at line 80 of file UserOptionsManager.php.
|
private |
Query flags used to retrieve options from database.
Definition at line 92 of file UserOptionsManager.php.
|
private |
Definition at line 55 of file UserOptionsManager.php.
|
private |
Definition at line 67 of file UserOptionsManager.php.
Referenced by MediaWiki\User\UserOptionsManager\__construct().
const MediaWiki\User\UserOptionsManager::CONSTRUCTOR_OPTIONS |
Definition at line 49 of file UserOptionsManager.php.