MediaWiki REL1_37
|
The User object encapsulates all of the user-specific settings (user_id, name, rights, email address, options, last login time). More...
Public Member Functions | |
__construct () | |
Lightweight constructor for an anonymous user. | |
& | __get ( $name) |
__set ( $name, $value) | |
__sleep () | |
__toString () | |
addAutopromoteOnceGroups ( $event) | |
Add the user to the group if he/she meets given criteria. | |
addGroup ( $group, $expiry=null) | |
Add the user to the given group. | |
addToDatabase () | |
Add this existing user object to the database. | |
addWatch (PageIdentity $title, $checkRights=self::CHECK_USER_RIGHTS, ?string $expiry=null) | |
Watch an article. | |
authorizeRead (string $action, PageIdentity $target, PermissionStatus $status=null) | |
authorizeWrite (string $action, PageIdentity $target, PermissionStatus $status=null) | |
blockedBy () | |
If user is blocked, return the name of the user who placed the block. | |
blockedFor () | |
If user is blocked, return the specified reason for the block. | |
canReceiveEmail () | |
Is this user allowed to receive e-mails within limits of current site configuration? | |
canSendEmail () | |
Is this user allowed to send e-mails within limits of current site configuration? | |
changeableGroups () | |
Returns an array of groups that this user can add and remove. | |
changeAuthenticationData (array $data) | |
Changes credentials of the user. | |
checkAndSetTouched () | |
Bump user_touched if it didn't change since this object was loaded. | |
checkPasswordValidity ( $password) | |
Check if this is a valid password for this user. | |
clearInstanceCache ( $reloadFrom=false) | |
Clear various cached data stored in this object. | |
clearSharedCache ( $mode='refresh') | |
Clear user data from memcached. | |
confirmEmail () | |
Mark the e-mail address confirmed. | |
definitelyCan (string $action, PageIdentity $target, PermissionStatus $status=null) | |
doLogout () | |
Clear the user's session, and reset the instance cache. | |
equals (?UserIdentity $user) | |
Checks if two user objects point to the same user. | |
getActorId ( $dbwOrWikiId=self::LOCAL) | |
Get the user's actor ID. | |
getAutomaticGroups ( $recache=false) | |
Get the list of implicit group memberships this user has. | |
getBlock ( $freshness=self::READ_NORMAL, $disableIpBlockExemptChecking=false) | |
Get the block affecting the user, or null if the user is not blocked. | |
getBlockId () | |
If user is blocked, return the ID for the block. | |
getBoolOption ( $oname) | |
Get the user's current setting for a given option, as a boolean value. | |
getDatePreference () | |
Get the user's preferred date format. | |
getDBTouched () | |
Get the user_touched timestamp field (time of last DB updates) | |
getEditCount () | |
Get the user's edit count. | |
getEditToken ( $salt='', $request=null) | |
Initialize (if necessary) and return a session token value which can be used in edit forms to show that the user's login credentials aren't being hijacked with a foreign form submission. | |
getEditTokenObject ( $salt='', $request=null) | |
Initialize (if necessary) and return a session token value which can be used in edit forms to show that the user's login credentials aren't being hijacked with a foreign form submission. | |
getEffectiveGroups ( $recache=false) | |
Get the list of implicit group memberships this user has. | |
getEmail () | |
Get the user's e-mail address. | |
getEmailAuthenticationTimestamp () | |
Get the timestamp of the user's e-mail authentication. | |
getExperienceLevel () | |
Compute experienced level based on edit count and registration date. | |
getFirstEditTimestamp () | |
Get the timestamp of the first edit. | |
getFormerGroups () | |
Returns the groups the user has belonged to. | |
getGlobalBlock ( $ip='') | |
Check if user is blocked on all wikis. | |
getGroupMemberships () | |
Get the list of explicit group memberships this user has, stored as UserGroupMembership objects. | |
getGroups () | |
Get the list of explicit group memberships this user has. | |
getId ( $wikiId=self::LOCAL) | |
Get the user's ID. | |
getInstanceForUpdate () | |
Get a new instance of this user that was loaded from the primary DB via a locking read. | |
getIntOption ( $oname, $defaultOverride=0) | |
Get the user's current setting for a given option, as an integer value. | |
getLatestEditTimestamp () | |
Get the timestamp of the latest edit. | |
getMutableCacheKeys (WANObjectCache $cache) | |
getName () | |
Get the user name, or the IP of an anonymous user. | |
getOption ( $oname, $defaultOverride=null, $ignoreHidden=false) | |
Get the user's current setting for a given option. | |
getOptionKinds (IContextSource $context, $options=null) | |
Return an associative array mapping preferences keys to the kind of a preference they're used for. | |
getOptions ( $flags=0) | |
Get all user's options. | |
getRealName () | |
Get the user's real name. | |
getRegistration () | |
Get the timestamp of account creation. | |
getRequest () | |
Get the WebRequest object to use with this object. | |
getRights () | |
Get the permissions this user has. | |
getStubThreshold () | |
Get the user preferred stub threshold. | |
getTalkPage () | |
Get this user's talk page title. | |
getTitleKey () | |
Get the user's name escaped by underscores. | |
getToken ( $forceCreation=true) | |
Get the user's current token. | |
getTokenFromOption ( $oname) | |
Get a token stored in the preferences (like the watchlist one), resetting it if it's empty (and saving changes). | |
getTouched () | |
Get the user touched timestamp. | |
getUser () | |
getUserPage () | |
Get this user's personal page title. | |
getWikiId () | |
Returns self::LOCAL to indicate the user is associated with the local wiki. | |
idForName ( $flags=self::READ_NORMAL) | |
If only this user's username is known, and it exists, return the user ID. | |
incEditCount () | |
Schedule a deferred update to update the user's edit count. | |
invalidateCache () | |
Immediately touch the user data cache for this account. | |
invalidateEmail () | |
Invalidate the user's e-mail confirmation, and unauthenticate the e-mail address if it was already confirmed. | |
isAllowed (string $permission) | |
Checks whether this authority has the given permission in general. | |
isAllowedAll (... $permissions) | |
Checks whether this authority has any of the given permissions in general. | |
isAllowedAny (... $permissions) | |
Checks whether this authority has any of the given permissions in general. | |
isAllowedToCreateAccount () | |
Get whether the user is allowed to create an account. | |
isAllowUsertalk () | |
Checks if usertalk is allowed. | |
isAnon () | |
Get whether the user is anonymous. | |
isBlocked ( $fromReplica=true) | |
Check if user is blocked. | |
isBlockedFrom ( $title, $fromReplica=false) | |
Check if user is blocked from editing a particular article. | |
isBlockedFromCreateAccount () | |
Get whether the user is explicitly blocked from account creation. | |
isBlockedFromEmailuser () | |
Get whether the user is blocked from using Special:Emailuser. | |
isBlockedFromUpload () | |
Get whether the user is blocked from using Special:Upload. | |
isBlockedGlobally ( $ip='') | |
Check if user is blocked on all wikis. | |
isBot () | |
isEmailConfirmationPending () | |
Check whether there is an outstanding request for e-mail confirmation. | |
isEmailConfirmed () | |
Is this user's e-mail address valid-looking and confirmed within limits of the current site configuration? | |
isHidden () | |
Check if user account is hidden. | |
isIPRange () | |
Is the user an IP range? | |
isItemLoaded ( $item, $all='all') | |
Return whether an item has been loaded. | |
isLocked () | |
Check if user account is locked. | |
isLoggedIn () | |
Get whether the user is registered. | |
isNewbie () | |
Determine whether the user is a newbie. | |
isPingLimitable () | |
Is this user subject to rate limiting? | |
isRegistered () | |
Get whether the user is registered. | |
isSafeToLoad () | |
Test if it's safe to load this User object. | |
isSystemUser () | |
Get whether the user is a system user. | |
isTempWatched (PageIdentity $title, $checkRights=self::CHECK_USER_RIGHTS) | |
Check if the article is temporarily watched. | |
isValidPassword ( $password) | |
Is the input a valid password for this user? | |
isWatched (PageIdentity $title, $checkRights=self::CHECK_USER_RIGHTS) | |
Check the watched status of an article. | |
load ( $flags=self::READ_NORMAL) | |
Load the user table data for this object from the source given by mFrom. | |
loadDefaults ( $name=false, $actorId=null) | |
Set cached properties to default. | |
loadFromDatabase ( $flags=self::READ_LATEST) | |
Load user data from the database. | |
loadFromId ( $flags=self::READ_NORMAL) | |
Load user table data, given mId has already been set. | |
logout () | |
Log this user out. | |
matchEditToken ( $val, $salt='', $request=null, $maxage=null) | |
Check given value against the token value stored in the session. | |
matchEditTokenNoSuffix ( $val, $salt='', $request=null, $maxage=null) | |
Check given value against the token value stored in the session, ignoring the suffix. | |
pingLimiter ( $action='edit', $incrBy=1) | |
Primitive rate limits: enforce maximum actions per time period to put a brake on flooding. | |
probablyCan (string $action, PageIdentity $target, PermissionStatus $status=null) | |
removeGroup ( $group) | |
Remove the user from the given group. | |
removeWatch (PageIdentity $title, $checkRights=self::CHECK_USER_RIGHTS) | |
Stop watching an article. | |
requiresHTTPS () | |
Determine based on the wiki configuration and the user's options, whether this user must be over HTTPS no matter what. | |
resetOptions ( $resetKinds=[ 'registered', 'registered-multiselect', 'registered-checkmatrix', 'unused'], IContextSource $context=null) | |
Reset certain (or all) options to the site defaults. | |
resetTokenFromOption ( $oname) | |
Reset a token stored in the preferences (like the watchlist one). | |
saveSettings () | |
Save this user's settings into the database. | |
sendConfirmationMail ( $type='created') | |
Generate a new e-mail confirmation token and send a confirmation/invalidation mail to the user's given address. | |
sendMail ( $subject, $body, $from=null, $replyto=null) | |
Send an e-mail to this user's account. | |
setActorId (int $actorId) | |
Sets the actor id. | |
setCookies ( $request=null, $secure=null, $rememberMe=false) | |
Persist this user's session (e.g. | |
setEmail (string $str) | |
Set the user's e-mail address. | |
setEmailAuthenticationTimestamp ( $timestamp) | |
Set the e-mail authentication timestamp. | |
setEmailWithConfirmation (string $str) | |
Set the user's e-mail address and a confirmation mail if needed. | |
setId ( $v) | |
Set the user and reload all fields according to a given ID. | |
setItemLoaded ( $item) | |
Set that an item has been loaded. | |
setName ( $str) | |
Set the user name. | |
setOption ( $oname, $val) | |
Set the given option for a user. | |
setRealName (string $str) | |
Set the user's real name. | |
setToken ( $token=false) | |
Set the random token (used for persistent authentication) Called from loadDefaults() among other places. | |
spreadAnyEditBlock () | |
If this user is logged-in and blocked, block any IP address they've successfully logged in from. | |
touch () | |
Update the "touched" timestamp for the user. | |
useFilePatrol () | |
Check whether to enable new files patrol features for this user. | |
useNPPatrol () | |
Check whether to enable new pages patrol features for this user. | |
useRCPatrol () | |
Check whether to enable recent changes patrol features for this user. | |
validateCache ( $timestamp) | |
Validate the cache for this account. | |
Public Member Functions inherited from MediaWiki\Permissions\Authority | |
getBlock (int $freshness=self::READ_NORMAL) | |
Returns any user block affecting the Authority. | |
Public Member Functions inherited from MediaWiki\DAO\WikiAwareEntity | |
assertWiki ( $wikiId) | |
Throws if $wikiId is different from the return value of getWikiId(). | |
Static Public Member Functions | |
static | changeableByGroup ( $group) |
Returns an array of the groups that a particular group can add/remove. | |
static | createNew ( $name, $params=[]) |
Add a user to the database, return the user object. | |
static | findUsersByGroup ( $groups, $limit=5000, $after=null) |
Return the users who are members of the given group(s). | |
static | getAllGroups () |
Return the set of defined explicit groups. | |
static | getCanonicalName ( $name, $validate='valid') |
Given unvalidated user input, return a canonical username, or false if the username is invalid. | |
static | getDefaultOption ( $opt) |
Get a given default option value. | |
static | getDefaultOptions () |
Combine the language default options with any site-specific options and add the default language variants. | |
static | getGroupPermissions ( $groups) |
Get the permissions associated with a given list of groups. | |
static | getGroupsWithPermission ( $role) |
Get all the groups who have a given permission. | |
static | getImplicitGroups () |
static | getQueryInfo () |
Return the tables, fields, and join conditions to be selected to create a new user object. | |
static | getRightDescription ( $right) |
Get the description of a given right. | |
static | groupHasPermission ( $group, $role) |
Check, if the given group has the given permission. | |
static | idFromName ( $name, $flags=self::READ_NORMAL) |
Get database id given a user name. | |
static | isCreatableName ( $name) |
Usernames which fail to pass this function will be blocked from new account registrations, but may be used internally either by batch processes or by user accounts which have already been created. | |
static | isIP ( $name) |
Does the string match an anonymous IP address? | |
static | isUsableName ( $name) |
Usernames which fail to pass this function will be blocked from user login and new account registrations, but may be used internally by batch processes. | |
static | isValidUserName ( $name) |
Is the input a valid username? | |
static | listOptionKinds () |
Return a list of the types of user options currently returned by User::getOptionKinds(). | |
static | newFatalPermissionDeniedStatus ( $permission) |
Factory function for fatal permission-denied errors. | |
static | purge ( $dbDomain, $userId) |
static | resetIdByNameCache () |
Reset the cache used in idFromName(). | |
static | whoIs ( $id) |
Get the username corresponding to a given user ID. | |
static | whoIsReal ( $id) |
Get the real name of a user given their user ID. | |
newFrom*() static factory methods | |
static | newFromName ( $name, $validate='valid') |
static | newFromId ( $id) |
Static factory method for creation from a given user ID. | |
static | newFromActorId ( $id) |
Static factory method for creation from a given actor ID. | |
static | newFromIdentity (UserIdentity $identity) |
Returns a User object corresponding to the given UserIdentity. | |
static | newFromAnyId ( $userId, $userName, $actorId, $dbDomain=false) |
Static factory method for creation from an ID, name, and/or actor ID. | |
static | newFromConfirmationCode ( $code, $flags=self::READ_NORMAL) |
Factory method to fetch whichever user has a given email confirmation code. | |
static | newFromSession (WebRequest $request=null) |
Create a new user object using data from session. | |
static | newFromRow ( $row, $data=null) |
Create a new user object from a user row. | |
static | newSystemUser ( $name, $options=[]) |
Static factory method for creation of a "system" user from username. | |
Public Attributes | |
int null | $mActorId |
Switched from protected to public for use in UserFactory. | |
AbstractBlock null | $mBlock |
string int | $mBlockedby |
string | $mEmail |
string | $mEmailAuthenticated |
string | $mFrom |
Initialization data source if mLoadedItems!==true. | |
bool | $mHideName |
int | $mId |
Cache variables. | |
string | $mName |
string | $mRealName |
string | $mTouched |
TS_MW timestamp from the DB. | |
const | CHECK_USER_RIGHTS = true |
const | GETOPTIONS_EXCLUDE_DEFAULTS = UserOptionsLookup::EXCLUDE_DEFAULTS |
Exclude user options that are set to their default value. | |
const | IGNORE_USER_RIGHTS = false |
const | INVALID_TOKEN = '*** INVALID ***' |
An invalid string value for the user_token field. | |
const | MAINTENANCE_SCRIPT_USER = 'Maintenance script' |
Username used for various maintenance scripts. | |
const | TOKEN_LENGTH = 32 |
Number of characters required for the user_token field. | |
Protected Member Functions | |
confirmationToken (&$expiration) | |
Generate, store, and return a new e-mail confirmation code. | |
confirmationTokenUrl ( $token) | |
Return a URL the user can use to confirm their email address. | |
getCacheKey (WANObjectCache $cache) | |
getTokenUrl ( $page, $token) | |
Internal function to format the e-mail validation/invalidation URLs. | |
invalidationTokenUrl ( $token) | |
Return a URL the user can use to invalidate their email address. | |
loadFromCache () | |
Load user data from shared cache, given mId has already been set. | |
loadFromRow ( $row, $data=null) | |
Initialize this object from a row from the user table. | |
loadFromUserObject ( $user) | |
Load the data for this user object from another user object. | |
makeUpdateConditions (IDatabase $db, array $conditions) | |
Builds update conditions. | |
spreadBlock () | |
If this (non-anonymous) user is blocked, block the IP address they've successfully logged in from. | |
Protected Attributes | |
bool | $mAllowUsertalk |
TODO: This should be removed when User::isAllowUsertalk is removed. | |
string | $mBlockreason |
TODO: This should be removed when User::BlockedFor and AbstractBlock::getReason are hard deprecated. | |
string | $mDatePreference |
Lazy-initialized variables, invalidated with clearInstanceCache. | |
string | $mEmailToken |
string | $mEmailTokenExpires |
AbstractBlock | $mGlobalBlock |
string | $mHash |
array bool | $mLoadedItems = [] |
Array with already loaded items or true if all items have been loaded. | |
bool | $mLocked |
string | $mQuickTouched |
TS_MW timestamp from cache. | |
string | $mRegistration |
string | $mToken |
int | $queryFlagsUsed = self::READ_NORMAL |
User::READ_* constant bitfield used to load data. | |
Static Protected Attributes | |
static string[] | $mCacheVars |
List of member variables which are saved to the shared cache (memcached). | |
Private Member Functions | |
getBlockedStatus ( $fromReplica=true, $disableIpBlockExemptChecking=false) | |
Get blocking information. | |
getThisAsAuthority () | |
Returns the Authority of this User if it's the main request context user. | |
isGlobalSessionUser () | |
Check whether this is the global session user. | |
loadFromSession () | |
Load user data from the session. | |
newTouchedTimestamp () | |
Generate a current or new-future timestamp to be stored in the user_touched field when we update things. | |
Static Private Member Functions | |
static | insertNewUser (callable $insertActor, $name, $params=[]) |
See createNew. | |
Private Attributes | |
AbstractBlock bool | $mBlockedFromCreateAccount = false |
WebRequest | $mRequest |
Authority null | $mThisAsAuthority |
lazy-initialized Authority of this user | |
const | VERSION = 17 |
Version number to tag cached versions of serialized User objects. | |
The User object encapsulates all of the user-specific settings (user_id, name, rights, email address, options, last login time).
Client classes use the getXXX() functions to access these fields. These functions do all the work of determining whether the user is logged in, whether the requested option can be satisfied from cookies or whether a database query is needed. Most of the settings needed for rendering normal pages are set in the cookie to minimize use of the database.
@newable in 1.35 only, the constructor is
User::__construct | ( | ) |
Lightweight constructor for an anonymous user.
Definition at line 274 of file User.php.
References clearInstanceCache().
& User::__get | ( | $name | ) |
Definition at line 295 of file User.php.
References wfDeprecated(), and wfLogWarning().
User::__set | ( | $name, | |
$value | |||
) |
Definition at line 318 of file User.php.
References setOption(), wfDeprecated(), and wfLogWarning().
User::addAutopromoteOnceGroups | ( | $event | ) |
Add the user to the group if he/she meets given criteria.
Contrary to autopromotion by \ref $wgAutopromote, the group will be possible to remove manually via Special:UserRights. In such case it will not be re-added automatically. The user will also not lose the group if they no longer meet the criteria.
string | $event | Key in $wgAutopromoteOnce (each one has groups/criteria) |
Definition at line 1473 of file User.php.
References wfDeprecated().
User::addGroup | ( | $group, | |
$expiry = null |
|||
) |
Add the user to the given group.
This takes immediate effect. If the user is already in the group, the expiry time will be updated to the new expiry time. (If $expiry is omitted or null, the membership will be altered to never expire.)
string | $group | Name of the group to add |
string | null | $expiry | Optional expiry timestamp in any format acceptable to wfTimestamp(), or null if the group assignment should not expire |
User::addToDatabase | ( | ) |
Add this existing user object to the database.
If the user already exists, a fatal status object is returned, and the user object is initialised with the data from the database.
Previously, this function generated a DB error due to a key conflict if the user already existed. Many extension callers use this function in code along the lines of:
$user = User::newFromName( $name ); if ( !$user->isRegistered() ) { $user->addToDatabase(); } // do something with $user...
However, this was vulnerable to a race condition (T18020). By initialising the user object if the user exists, we aim to support this calling sequence as far as possible.
Note that if the user exists, this function will acquire a write lock, so it is still advisable to make the call conditional on isRegistered(), and to commit the transaction after calling.
MWException |
Definition at line 3495 of file User.php.
References Wikimedia\Rdbms\IDatabase\affectedRows(), DB_PRIMARY, Wikimedia\Rdbms\IDatabase\insert(), Wikimedia\Rdbms\IDatabase\insertId(), Wikimedia\Rdbms\IDatabase\selectField(), Wikimedia\Rdbms\IDatabase\timestamp(), Wikimedia\Rdbms\IDatabase\timestampOrNull(), and wfGetDB().
Referenced by MediaWiki\Auth\AuthManager\autoCreateUser().
User::addWatch | ( | PageIdentity | $title, |
$checkRights = self::CHECK_USER_RIGHTS , |
|||
?string | $expiry = null |
||
) |
Watch an article.
PageIdentity | $title | the article to look at |
bool | $checkRights | Whether to check 'viewmywatchlist'/'editmywatchlist' rights. Pass User::CHECK_USER_RIGHTS or User::IGNORE_USER_RIGHTS. |
string | null | $expiry | Optional expiry timestamp in any format acceptable to wfTimestamp(), null will not create expiries, or leave them unchanged should they already exist. |
Definition at line 3132 of file User.php.
References $title, $watchlistManager, and wfDeprecated().
User::authorizeRead | ( | string | $action, |
PageIdentity | $target, | ||
PermissionStatus | $status = null |
||
) |
string | $action | |
PageIdentity | $target | |
PermissionStatus | null | $status |
Implements MediaWiki\Permissions\Authority.
User::authorizeWrite | ( | string | $action, |
PageIdentity | $target, | ||
PermissionStatus | $status = null |
||
) |
string | $action | |
PageIdentity | $target | |
PermissionStatus | null | $status |
Implements MediaWiki\Permissions\Authority.
User::blockedBy | ( | ) |
User::blockedFor | ( | ) |
If user is blocked, return the specified reason for the block.
User::canReceiveEmail | ( | ) |
User::canSendEmail | ( | ) |
Is this user allowed to send e-mails within limits of current site configuration?
Definition at line 3942 of file User.php.
References $wgEnableEmail, and $wgEnableUserEmail.
|
static |
Returns an array of the groups that a particular group can add/remove.
string | $group | The group to check for whether it can add/remove |
Definition at line 4130 of file User.php.
References wfDeprecated().
User::changeableGroups | ( | ) |
Returns an array of groups that this user can add and remove.
Definition at line 4145 of file User.php.
References wfDeprecated().
User::changeAuthenticationData | ( | array | $data | ) |
Changes credentials of the user.
This is a convenience wrapper around AuthManager::changeAuthenticationData. Note that this can return a status that isOK() but not isGood() on certain types of failures, e.g. when no provider handled the change.
array | $data | A set of authentication data in fieldname => value format. This is the same data you would pass the changeauthenticationdata API - 'username', 'password' etc. |
User::checkAndSetTouched | ( | ) |
Bump user_touched if it didn't change since this object was loaded.
On success, the mTouched field is updated. The user serialization cache is always cleared.
Definition at line 1508 of file User.php.
References $success, DB_PRIMARY, and wfGetDB().
User::checkPasswordValidity | ( | $password | ) |
Check if this is a valid password for this user.
Returns a Status object with a set of messages describing problems with the password. If the return status is fatal, the action should be refused and the password should not be checked at all (this is mainly meant for DoS mitigation). If the return value is OK but not good, the password can be checked, but the user should not be able to set their password to this. The value of the returned Status object will be an array which can have the following fields:
string | $password | Desired password |
Definition at line 1127 of file User.php.
References $wgPasswordPolicy.
User::clearInstanceCache | ( | $reloadFrom = false | ) |
Clear various cached data stored in this object.
The cache of the user table data (i.e. self::$mCacheVars) is not cleared unless $reloadFrom is given.
bool | string | $reloadFrom | Reload user and user_groups table data from a given source. May be "name", "id", "actor", "defaults", "session", or false for no reload. |
Definition at line 1546 of file User.php.
References $wgFullyInitialised.
Referenced by __construct(), and UserrightsPage\execute().
User::clearSharedCache | ( | $mode = 'refresh' | ) |
Clear user data from memcached.
Use after applying updates to the database; caller's responsibility to update user_touched if appropriate.
Called implicitly from invalidateCache() and saveSettings().
string | $mode | Use 'refresh' to clear now or 'changed' to clear before DB commit |
Definition at line 2237 of file User.php.
References $cache, and DB_PRIMARY.
|
protected |
Generate, store, and return a new e-mail confirmation code.
A hash (unsalted, since it's used as a key) is stored.
string | &$expiration | Accepts the expiration time |
Definition at line 3841 of file User.php.
References $wgUserEmailConfirmationTokenExpiry, and wfTimestamp().
|
protected |
User::confirmEmail | ( | ) |
Mark the e-mail address confirmed.
Definition at line 3899 of file User.php.
References wfTimestampNow().
|
static |
Add a user to the database, return the user object.
string | $name | Username to add |
array | $params | Array of Strings Non-default parameters to save to the database as user_* fields:
|
User::definitelyCan | ( | string | $action, |
PageIdentity | $target, | ||
PermissionStatus | $status = null |
||
) |
string | $action | |
PageIdentity | $target | |
PermissionStatus | null | $status |
Implements MediaWiki\Permissions\Authority.
User::doLogout | ( | ) |
User::equals | ( | ?UserIdentity | $user | ) |
Checks if two user objects point to the same user.
UserIdentity | null | $user |
Implements MediaWiki\User\UserIdentity.
|
static |
Return the users who are members of the given group(s).
In case of multiple groups, users who are members of at least one of them are returned.
string | array | $groups | A single group name or an array of group names |
int | $limit | Max number of users to return. The actual limit will never exceed 5000 records; larger values are ignored. |
int | null | $after | ID the user to start after |
Definition at line 1047 of file User.php.
References $dbr, DB_REPLICA, UserArray\newFromIDs(), and wfGetDB().
Referenced by EmptyUserGroup\execute().
User::getActorId | ( | $dbwOrWikiId = self::LOCAL | ) |
Get the user's actor ID.
IDatabase | string | false | $dbwOrWikiId | Deprecated since 1.36. If a database connection is passed, a new actor ID is assigned if needed. ActorNormalization::acquireActorId() should be used for that purpose instead. |
PreconditionException | if $dbwOrWikiId is a string and does not match the local wiki |
Definition at line 2162 of file User.php.
References wfDeprecatedMsg().
|
static |
Return the set of defined explicit groups.
The implicit groups (by default *, 'user' and 'autoconfirmed') are not included, as they are defined automatically, not in the database.
User::getAutomaticGroups | ( | $recache = false | ) |
Get the list of implicit group memberships this user has.
This includes 'user' if logged in, '*' for all accounts, and autopromoted groups
bool | $recache | Whether to avoid the cache |
Definition at line 2888 of file User.php.
References wfDeprecated().
User::getBlock | ( | $freshness = self::READ_NORMAL , |
|
$disableIpBlockExemptChecking = false |
|||
) |
Get the block affecting the user, or null if the user is not blocked.
int | bool | $freshness | One of the Authority::READ_XXX constants. For backwards compatibility, a boolean is also accepted, with true meaning READ_NORMAL and false meaning READ_LATEST. |
bool | $disableIpBlockExemptChecking | This is used internally to prevent a infinite recursion with autopromote. See T270145. |
Definition at line 1941 of file User.php.
Referenced by Action\checkCanExecute(), FormSpecialPage\checkExecutePermissions(), MediaWiki\Permissions\PermissionManager\checkUserBlock(), PasswordReset\isBlocked(), MediaWiki\Permissions\PermissionManager\isBlockedFrom(), and MediaWiki\Block\BlockManager\trackBlockWithCookie().
|
private |
Get blocking information.
TODO: Move this into the BlockManager, along with block-related properties.
bool | $fromReplica | Whether to check the replica DB first. To improve performance, non-critical checks are done against replica DBs. Check when actually saving should be done against primary DB. |
bool | $disableIpBlockExemptChecking | This is used internally to prevent a infinite recursion with autopromote. See T270145. |
Definition at line 1608 of file User.php.
References wfDebug().
User::getBlockId | ( | ) |
User::getBoolOption | ( | $oname | ) |
Get the user's current setting for a given option, as a boolean value.
string | $oname | The option to check |
Definition at line 2591 of file User.php.
References wfDeprecated().
|
protected |
WANObjectCache | $cache |
Definition at line 508 of file User.php.
References $cache.
|
static |
Given unvalidated user input, return a canonical username, or false if the username is invalid.
string | $name | User input |
string | bool | $validate | Type of validation to use:
|
InvalidArgumentException |
Definition at line 1173 of file User.php.
References wfDeprecated().
User::getDatePreference | ( | ) |
Get the user's preferred date format.
Definition at line 2770 of file User.php.
References $wgLang.
Referenced by Language\getHumanTimestampInternal().
User::getDBTouched | ( | ) |
|
static |
Get a given default option value.
string | $opt | Name of option to retrieve |
Definition at line 1590 of file User.php.
References wfDeprecated().
|
static |
Combine the language default options with any site-specific options and add the default language variants.
Definition at line 1576 of file User.php.
References wfDeprecated().
User::getEditCount | ( | ) |
Get the user's edit count.
Definition at line 2918 of file User.php.
Referenced by MediaWiki\Preferences\DefaultPreferencesFactory\profilePreferences().
User::getEditToken | ( | $salt = '' , |
|
$request = null |
|||
) |
Initialize (if necessary) and return a session token value which can be used in edit forms to show that the user's login credentials aren't being hijacked with a foreign form submission.
The $salt for 'edit' and 'csrf' tokens is the default (empty string).
string | string[] | $salt | Optional function-specific data for hashing |
WebRequest | null | $request | WebRequest object to use, or null to use the global request |
Definition at line 3715 of file User.php.
Referenced by WatchAction\getWatchToken().
User::getEditTokenObject | ( | $salt = '' , |
|
$request = null |
|||
) |
Initialize (if necessary) and return a session token value which can be used in edit forms to show that the user's login credentials aren't being hijacked with a foreign form submission.
string | string[] | $salt | Optional function-specific data for hashing |
WebRequest | null | $request | WebRequest object to use, or null to use the global request |
Definition at line 3690 of file User.php.
Referenced by ApiQueryTokens\getToken().
User::getEffectiveGroups | ( | $recache = false | ) |
Get the list of implicit group memberships this user has.
This includes all explicit groups, plus 'user' if logged in, '*' for all accounts, and autopromoted groups
bool | $recache | Whether to avoid the cache |
Definition at line 2870 of file User.php.
References wfDeprecated().
User::getEmail | ( | ) |
Get the user's e-mail address.
Implements MediaWiki\Mail\UserEmailContact.
Definition at line 2433 of file User.php.
Referenced by SpecialChangeEmail\attemptChange(), and MediaWiki\Preferences\DefaultPreferencesFactory\profilePreferences().
User::getEmailAuthenticationTimestamp | ( | ) |
Get the timestamp of the user's e-mail authentication.
Definition at line 2446 of file User.php.
Referenced by MediaWiki\Preferences\DefaultPreferencesFactory\profilePreferences().
User::getExperienceLevel | ( | ) |
Compute experienced level based on edit count and registration date.
Definition at line 3170 of file User.php.
References $wgExperiencedUserEdits, $wgExperiencedUserMemberSince, $wgLearnerEdits, $wgLearnerMemberSince, and wfTimestamp().
User::getFirstEditTimestamp | ( | ) |
Get the timestamp of the first edit.
Definition at line 4028 of file User.php.
References wfDeprecated().
User::getFormerGroups | ( | ) |
Returns the groups the user has belonged to.
The user may still belong to the returned groups. Compare with getGroups().
The function will not return groups the user had belonged to before MW 1.17
Definition at line 2907 of file User.php.
References wfDeprecated().
User::getGlobalBlock | ( | $ip = '' | ) |
Check if user is blocked on all wikis.
Do not use for actual edit permission checks! This is intended for quick UI checks.
string | $ip | IP address, uses current client if none given |
FatalError | |
MWException |
Definition at line 2024 of file User.php.
Referenced by PasswordReset\isBlocked().
User::getGroupMemberships | ( | ) |
Get the list of explicit group memberships this user has, stored as UserGroupMembership objects.
Implicit groups are not included.
|
static |
Get the permissions associated with a given list of groups.
string[] | $groups | internal group names |
User::getGroups | ( | ) |
Get the list of explicit group memberships this user has.
The implicit * and user groups are not included.
|
static |
Get all the groups who have a given permission.
string | $role | Role to check |
User::getId | ( | $wikiId = self::LOCAL | ) |
Get the user's ID.
string | false | $wikiId | The wiki ID expected by the caller. |
Implements MediaWiki\User\UserIdentity.
Definition at line 2083 of file User.php.
Referenced by UploadFromChunks\__construct(), MediaWiki\Auth\AuthManager\autoCreateUser(), MediaWiki\Auth\AuthManager\beginAccountLink(), PasswordReset\execute(), CreditsAction\link(), and SpecialEmailUser\validateTarget().
|
static |
User::getInstanceForUpdate | ( | ) |
Get a new instance of this user that was loaded from the primary DB via a locking read.
Use this instead of the main context User when updating that user. This avoids races where that user was loaded from a replica DB or even the primary DB but without proper locks.
Definition at line 4240 of file User.php.
Referenced by SpecialChangeEmail\attemptChange().
User::getIntOption | ( | $oname, | |
$defaultOverride = 0 |
|||
) |
Get the user's current setting for a given option, as an integer value.
string | $oname | The option to check |
int | $defaultOverride | A default value returned if the option does not exist |
Definition at line 2608 of file User.php.
References wfDeprecated().
User::getLatestEditTimestamp | ( | ) |
Get the timestamp of the latest edit.
Definition at line 4044 of file User.php.
References wfDeprecated().
User::getMutableCacheKeys | ( | WANObjectCache | $cache | ) |
WANObjectCache | $cache |
Definition at line 519 of file User.php.
References $cache.
User::getName | ( | ) |
Get the user name, or the IP of an anonymous user.
Implements MediaWiki\User\UserIdentity.
Definition at line 2116 of file User.php.
Referenced by MediaWiki\Session\UserInfo\__construct(), __toString(), MediaWiki\Auth\AuthManager\autoCreateUser(), MediaWiki\Auth\AuthManager\beginAccountLink(), MediaWiki\Storage\PageEditStash\checkCache(), PasswordReset\execute(), MediaWiki\Preferences\DefaultPreferencesFactory\generateSkinOptions(), PasswordReset\isAllowed(), CreditsAction\link(), MediaWiki\Preferences\DefaultPreferencesFactory\loadPreferenceValues(), MediaWiki\Preferences\DefaultPreferencesFactory\profilePreferences(), MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider\sendNewAccountEmail(), MediaWiki\Preferences\DefaultPreferencesFactory\skinPreferences(), MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider\tryReset(), and CreditsAction\userLink().
User::getOption | ( | $oname, | |
$defaultOverride = null , |
|||
$ignoreHidden = false |
|||
) |
Get the user's current setting for a given option.
string | $oname | The option to check |
mixed | null | $defaultOverride | A default value returned if the option does not exist. Default values set via $wgDefaultUserOptions / UserGetDefaultOptions take precedence. |
bool | $ignoreHidden | Whether to ignore the effects of $wgHiddenPrefs |
Reimplemented in PPFuzzUser.
Definition at line 2556 of file User.php.
Referenced by RequestContext\getLanguage(), and MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider\sendNewAccountEmail().
User::getOptionKinds | ( | 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.
IContextSource | $context | |
array | null | $options | Assoc. array with options keys to check as keys. Defaults to $this->mOptions. |
Definition at line 2729 of file User.php.
References wfDeprecated().
User::getOptions | ( | $flags = 0 | ) |
Get all user's options.
int | $flags | Bitwise combination of: User::GETOPTIONS_EXCLUDE_DEFAULTS Exclude user options that are set to the default value. (Since 1.25) |
Definition at line 2575 of file User.php.
References wfDeprecated().
|
static |
Return the tables, fields, and join conditions to be selected to create a new user object.
$table
to IDatabase->select()
$vars
to IDatabase->select()
$join_conds
to IDatabase->select()
Definition at line 4182 of file User.php.
Referenced by ApiQueryUsers\execute(), PasswordReset\getUsersByEmail(), UserArray\newFromIDs(), and UserArray\newFromNames().
User::getRealName | ( | ) |
Get the user's real name.
Implements MediaWiki\Mail\UserEmailContact.
Definition at line 2527 of file User.php.
Referenced by CreditsAction\link(), MediaWiki\Preferences\DefaultPreferencesFactory\profilePreferences(), and CreditsAction\userLink().
User::getRegistration | ( | ) |
Get the timestamp of account creation.
Definition at line 4012 of file User.php.
Referenced by MediaWiki\Preferences\DefaultPreferencesFactory\profilePreferences().
User::getRequest | ( | ) |
Get the WebRequest object to use with this object.
Definition at line 3075 of file User.php.
Referenced by MediaWiki\Storage\PageEditStash\checkCache(), MediaWiki\Permissions\PermissionManager\checkUserBlock(), PasswordReset\execute(), MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider\sendNewAccountEmail(), and MediaWiki\Block\BlockManager\trackBlockWithCookie().
|
static |
Get the description of a given right.
string | $right | Right to query |
Definition at line 4167 of file User.php.
References wfMessage().
Referenced by SpecialListGrants\execute(), SpecialListGroupRights\formatPermissions(), SpecialListGroupRights\outputNamespaceProtectionInfo(), and CreateBotPassword\showGrants().
User::getRights | ( | ) |
Get the permissions this user has.
Definition at line 2825 of file User.php.
References wfDeprecated().
User::getStubThreshold | ( | ) |
Get the user preferred stub threshold.
Definition at line 2811 of file User.php.
References wfDeprecated().
User::getTalkPage | ( | ) |
Get this user's talk page title.
Definition at line 3664 of file User.php.
References $title.
Referenced by MediaWiki\Permissions\PermissionManager\isBlockedFrom().
|
private |
User::getTitleKey | ( | ) |
Get the user's name escaped by underscores.
Definition at line 2208 of file User.php.
Referenced by MediaWiki\Preferences\DefaultPreferencesFactory\profilePreferences().
User::getToken | ( | $forceCreation = true | ) |
Get the user's current token.
bool | $forceCreation | Force the generation of a new token if the user doesn't have one (default=true for backwards compatibility). |
Definition at line 2374 of file User.php.
References $wgAuthenticationTokenVersion.
User::getTokenFromOption | ( | $oname | ) |
Get a token stored in the preferences (like the watchlist one), resetting it if it's empty (and saving changes).
string | $oname | The option name to retrieve the token from |
Definition at line 2643 of file User.php.
References $wgHiddenPrefs.
|
protected |
Internal function to format the e-mail validation/invalidation URLs.
This uses a quickie hack to use the hardcoded English names of the Special: pages, for ASCII safety.
string | $page | Special page |
string | $token |
User::getTouched | ( | ) |
Get the user touched timestamp.
Use this value only to validate caches via inequalities such as in the case of HTTP If-Modified-Since response logic
Definition at line 2307 of file User.php.
References $cache, and wfTimestamp().
User::getUser | ( | ) |
Implements MediaWiki\Permissions\Authority.
User::getUserPage | ( | ) |
User::getWikiId | ( | ) |
Returns self::LOCAL to indicate the user is associated with the local wiki.
Implements MediaWiki\DAO\WikiAwareEntity.
|
static |
Check, if the given group has the given permission.
If you're wanting to check whether all users have a permission, use PermissionManager::isEveryoneAllowed() instead. That properly checks if it's revoked from anyone.
string | $group | Group to check |
string | $role | Role to check |
User::idForName | ( | $flags = self::READ_NORMAL | ) |
|
static |
Get database id given a user name.
string | $name | Username |
int | $flags | User::READ_* constant bitfield |
Definition at line 938 of file User.php.
Referenced by ExternalUserNames\applyPrefix(), CleanupUsersWithNoId\cleanup(), CreateBotPassword\execute(), and UsersPager\getQueryInfo().
User::incEditCount | ( | ) |
Schedule a deferred update to update the user's edit count.
|
staticprivate |
See createNew.
callable | $insertActor | ( UserIdentity $actor, IDatabase $dbw ): int actor ID, |
string | $name | |
array | $params |
Definition at line 3415 of file User.php.
References Wikimedia\Rdbms\IDatabase\affectedRows(), DB_PRIMARY, Wikimedia\Rdbms\IDatabase\insert(), load(), wfDeprecated(), and wfGetDB().
User::invalidateCache | ( | ) |
User::invalidateEmail | ( | ) |
Invalidate the user's e-mail confirmation, and unauthenticate the e-mail address if it was already confirmed.
|
protected |
User::isAllowed | ( | string | $permission | ) |
Checks whether this authority has the given permission in general.
For some permissions, exceptions may exist, both positive and negative, on a per-target basis.
string | $permission |
Implements MediaWiki\Permissions\Authority.
Definition at line 3033 of file User.php.
Referenced by MediaWiki\Preferences\DefaultPreferencesFactory\editingPreferences(), MediaWiki\Preferences\DefaultPreferencesFactory\getForm(), PasswordReset\isAllowed(), MediaWiki\Preferences\DefaultPreferencesFactory\loadPreferenceValues(), MediaWiki\Preferences\DefaultPreferencesFactory\profilePreferences(), MediaWiki\Preferences\DefaultPreferencesFactory\renderingPreferences(), and MediaWiki\Preferences\DefaultPreferencesFactory\watchlistPreferences().
User::isAllowedAll | ( | $permissions | ) |
Checks whether this authority has any of the given permissions in general.
Implementations must ensure that this method returns false if isAllowed would return false for any of the given permissions. Calling isAllowedAll() with one parameter must be equivalent to calling isAllowed(). Calling isAllowedAny() with no parameter is not allowed.
string | ...$permissions Permissions to test. At least one must be given. |
Implements MediaWiki\Permissions\Authority.
User::isAllowedAny | ( | $permissions | ) |
Checks whether this authority has any of the given permissions in general.
Implementations must ensure that this method returns true if isAllowed would return true for any of the given permissions. Calling isAllowedAny() with one parameter must be equivalent to calling isAllowed(). Calling isAllowedAny() with no parameter is not allowed.
string | ...$permissions Permissions to test. At least one must be given. |
Implements MediaWiki\Permissions\Authority.
Definition at line 3025 of file User.php.
Referenced by MediaWiki\Preferences\DefaultPreferencesFactory\watchlistPreferences().
User::isAllowedToCreateAccount | ( | ) |
User::isAllowUsertalk | ( | ) |
Checks if usertalk is allowed.
Definition at line 4275 of file User.php.
References wfDeprecated().
User::isAnon | ( | ) |
Get whether the user is anonymous.
Definition at line 2986 of file User.php.
Referenced by MediaWiki\Session\UserInfo\__construct(), MediaWiki\Storage\PageEditStash\checkCache(), WatchAction\checkCanExecute(), MediaWiki\Permissions\PermissionManager\checkQuickPermissions(), CreditsAction\link(), MediaWiki\Session\SessionBackend\logPersistenceChange(), MediaWiki\Session\UserInfo\newFromId(), MediaWiki\Block\BlockManager\trackBlockWithCookie(), and CreditsAction\userLink().
User::isBlocked | ( | $fromReplica = true | ) |
Check if user is blocked.
bool | $fromReplica | Whether to check the replica DB instead of the primary DB. Hacked from false due to horrible probs on site. |
User::isBlockedFrom | ( | $title, | |
$fromReplica = false |
|||
) |
Check if user is blocked from editing a particular article.
PageIdentity | $title | Title to check |
bool | $fromReplica | Whether to check the replica DB instead of the primary DB |
Definition at line 1966 of file User.php.
References $title.
Referenced by Action\checkCanExecute().
User::isBlockedFromCreateAccount | ( | ) |
Get whether the user is explicitly blocked from account creation.
Definition at line 3602 of file User.php.
References MediaWiki\Block\AbstractBlock\appliesToRight().
User::isBlockedFromEmailuser | ( | ) |
User::isBlockedFromUpload | ( | ) |
User::isBlockedGlobally | ( | $ip = '' | ) |
User::isBot | ( | ) |
Definition at line 2994 of file User.php.
Referenced by MediaWiki\Storage\PageEditStash\checkCache(), and getWatchlistValue().
|
static |
Usernames which fail to pass this function will be blocked from new account registrations, but may be used internally either by batch processes or by user accounts which have already been created.
Additional preventions may be added here rather than in isValidUserName() to avoid disrupting existing accounts.
string | $name | String to match |
Definition at line 1090 of file User.php.
References wfDeprecated().
User::isEmailConfirmationPending | ( | ) |
Check whether there is an outstanding request for e-mail confirmation.
Definition at line 3997 of file User.php.
References $wgEmailAuthentication, and wfTimestamp().
User::isEmailConfirmed | ( | ) |
Is this user's e-mail address valid-looking and confirmed within limits of the current site configuration?
Implements MediaWiki\Mail\UserEmailContact.
Definition at line 3971 of file User.php.
Referenced by MediaWiki\Permissions\PermissionManager\checkUserBlock().
|
private |
User::isHidden | ( | ) |
Check if user account is hidden.
Definition at line 2070 of file User.php.
Referenced by UserrightsPage\fetchUser(), and MediaWiki\Permissions\PermissionManager\isBlockedFrom().
|
static |
Does the string match an anonymous IP address?
This function exists for username validation, in order to reject usernames which are similar in form to IP addresses. Strings such as 300.300.300.300 will return true because it looks like an IP address, despite not being strictly valid.
We match "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.xxx" as an anonymous IP address because the usemod software would "cloak" anonymous IP addresses like this, if we allowed accounts like this to be created new users could get the old edits of these anonymous users.
string | $name | Name to match |
Definition at line 979 of file User.php.
References wfDeprecated().
User::isIPRange | ( | ) |
Is the user an IP range?
Definition at line 994 of file User.php.
References wfDeprecated().
User::isItemLoaded | ( | $item, | |
$all = 'all' |
|||
) |
Return whether an item has been loaded.
string | $item | Item to check. Current possibilities:
|
string | $all | 'all' to check if the whole object has been loaded or any other string to check if only the item is available (e.g. for optimisation) |
Definition at line 1242 of file User.php.
References true.
User::isLocked | ( | ) |
User::isLoggedIn | ( | ) |
Get whether the user is registered.
Definition at line 2976 of file User.php.
References wfDeprecated().
User::isNewbie | ( | ) |
Determine whether the user is a newbie.
Newbies are either anonymous IPs, or the most recently created accounts.
Definition at line 3674 of file User.php.
Referenced by SpecialEmailUser\validateTarget().
User::isPingLimitable | ( | ) |
Is this user subject to rate limiting?
Definition at line 1662 of file User.php.
References $wgRateLimitsExcludedIPs.
User::isRegistered | ( | ) |
Get whether the user is registered.
Implements MediaWiki\User\UserIdentity.
Definition at line 2966 of file User.php.
Referenced by UppercaseTitlesForUnicodeTransition\execute(), and LanguageConverter\getUserVariant().
User::isSafeToLoad | ( | ) |
Test if it's safe to load this User object.
You should typically check this before using $wgUser or RequestContext::getUser in a method that might be called before the system has been fully initialized. If the object is unsafe, you should use an anonymous user: \code $user = $wgUser->isSafeToLoad() ? $wgUser : new User; \endcode
Definition at line 362 of file User.php.
References $wgFullyInitialised.
Referenced by LanguageConverter\getUserVariant(), and MediaWiki\Block\BlockManager\trackBlockWithCookie().
User::isSystemUser | ( | ) |
User::isTempWatched | ( | PageIdentity | $title, |
$checkRights = self::CHECK_USER_RIGHTS |
|||
) |
Check if the article is temporarily watched.
PageIdentity | $title | the article to look at |
bool | $checkRights | Whether to check 'viewmywatchlist'/'editmywatchlist' rights. Pass User::CHECK_USER_RIGHTS or User::IGNORE_USER_RIGHTS. |
Definition at line 3113 of file User.php.
References $title, $watchlistManager, and wfDeprecated().
|
static |
Usernames which fail to pass this function will be blocked from user login and new account registrations, but may be used internally by batch processes.
If an account already exists in this form, login will be blocked by a failure to pass this function.
string | $name | Name to match |
Definition at line 1032 of file User.php.
References wfDeprecated().
User::isValidPassword | ( | $password | ) |
|
static |
Is the input a valid username?
Checks if the input is a valid username, we don't want an empty string, an IP address, anything that contains slashes (would mess up subpages), is longer than the maximum allowed username size or doesn't begin with a capital letter.
string | $name | Name to match |
Definition at line 1013 of file User.php.
References wfDeprecated().
User::isWatched | ( | PageIdentity | $title, |
$checkRights = self::CHECK_USER_RIGHTS |
|||
) |
Check the watched status of an article.
PageIdentity | $title | the article to look at |
bool | $checkRights | Whether to check 'viewmywatchlist'/'editmywatchlist' rights. Pass User::CHECK_USER_RIGHTS or User::IGNORE_USER_RIGHTS. |
Definition at line 3092 of file User.php.
References $title, $watchlistManager, and wfDeprecated().
|
static |
Return a list of the types of user options currently returned by User::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 2707 of file User.php.
References wfDeprecated().
User::load | ( | $flags = self::READ_NORMAL | ) |
Load the user table data for this object from the source given by mFrom.
int | $flags | User::READ_* constant bitfield |
Reimplemented in PPFuzzUser.
Definition at line 379 of file User.php.
References $wgFullyInitialised, and wfGetDB().
Referenced by insertNewUser(), and MediaWiki\Session\UserInfo\newFromId().
User::loadDefaults | ( | $name = false , |
|
$actorId = null |
|||
) |
Set cached properties to default.
string | bool | $name | |
int | null | $actorId |
Definition at line 1206 of file User.php.
References wfTimestamp().
Referenced by PPFuzzUser\load().
|
protected |
Load user data from shared cache, given mId has already been set.
Definition at line 531 of file User.php.
References $cache, $wgFullyInitialised, DB_REPLICA, wfDebug(), wfGetDB(), and wfTimestamp().
User::loadFromDatabase | ( | $flags = self::READ_LATEST | ) |
User::loadFromId | ( | $flags = self::READ_NORMAL | ) |
Load user table data, given mId has already been set.
int | $flags | User::READ_* constant bitfield |
Definition at line 467 of file User.php.
Referenced by MediaWiki\Auth\AuthManager\autoCreateUser().
|
protected |
Initialize this object from a row from the user table.
stdClass | $row | Row from the user table to load. |
array | null | $data | Further user data to load into the object |
user_groups Array of arrays or stdClass result rows out of the user_groups table. Previously you were supposed to pass an array of strings here, but we also need expiry info nowadays, so an array of strings is ignored.
Definition at line 1343 of file User.php.
References wfTimestamp(), and wfTimestampOrNull().
Referenced by newFromRow().
|
private |
|
protected |
|
protected |
Builds update conditions.
Additional conditions may be added to $conditions to protected against race conditions using a compare-and-set (CAS) mechanism based on comparing $this->mTouched with the user_touched field.
IDatabase | $db | |
array | $conditions | WHERE conditions for use with Database::update |
Definition at line 1489 of file User.php.
References Wikimedia\Rdbms\IDatabase\timestamp().
User::matchEditToken | ( | $val, | |
$salt = '' , |
|||
$request = null , |
|||
$maxage = null |
|||
) |
Check given value against the token value stored in the session.
A match should confirm that the form was submitted from the user's own login session, not a form submission from a third-party site.
string | $val | Input value to compare |
string | array | $salt | Optional function-specific data for hashing |
WebRequest | null | $request | Object to use, or null to use the global request |
int | null | $maxage | Fail tokens older than this, in seconds |
User::matchEditTokenNoSuffix | ( | $val, | |
$salt = '' , |
|||
$request = null , |
|||
$maxage = null |
|||
) |
Check given value against the token value stored in the session, ignoring the suffix.
string | $val | Input value to compare |
string | array | $salt | Optional function-specific data for hashing |
WebRequest | null | $request | Object to use, or null to use the global request |
int | null | $maxage | Fail tokens older than this, in seconds |
Definition at line 3747 of file User.php.
References wfDeprecated().
|
static |
Factory function for fatal permission-denied errors.
string | $permission | User right required |
Definition at line 4214 of file User.php.
References $wgLang.
Referenced by MediaWiki\Watchlist\WatchlistManager\addWatch(), ApiUpload\checkPermissions(), MediaWiki\Permissions\PermissionManager\missingPermissionError(), and MediaWiki\Watchlist\WatchlistManager\removeWatch().
|
static |
Static factory method for creation from a given actor ID.
int | $id | Valid actor ID |
|
static |
Static factory method for creation from an ID, name, and/or actor ID.
This does not check that the ID, name, and actor ID all correspond to the same user.
int | null | $userId | User ID, if known |
string | null | $userName | User name, if known |
int | null | $actorId | Actor ID, if known |
bool | string | $dbDomain | remote wiki to which the User/Actor ID applies, or false if none |
Definition at line 713 of file User.php.
Referenced by LocalFileDeleteBatch\doDBInserts(), ImportableOldRevisionImporter\import(), RemoveUnusedAccounts\isInactiveAccount(), ArchivedFile\loadFromRow(), and LocalFile\loadFromRow().
|
static |
Factory method to fetch whichever user has a given email confirmation code.
This code is generated when an account is created or its e-mail address has changed.
If the code is invalid or has expired, returns NULL.
string | $code | Confirmation code |
int | $flags | User::READ_* bitfield |
|
static |
Static factory method for creation from a given user ID.
int | $id | Valid user ID |
Definition at line 648 of file User.php.
Referenced by LogPage\addEntry(), FixUserRegistration\execute(), MigrateUserGroup\execute(), RemoveInvalidEmails\execute(), ResetUserEmail\execute(), WrapOldPasswords\execute(), WikiPage\getContributors(), RefreshLinksJob\getDataUpdateOptions(), NewUsersLogFormatter\getMessageParameters(), RequestContext\importScopedSession(), MediaWiki\Session\UserInfo\newFromId(), Installer\resetMediaWikiServices(), DeletePageJob\run(), EnotifNotifyJob\run(), UserOptionsUpdateJob\run(), Skin\showEmailUser(), UserOptionsMaintenance\showUsageStats(), ResetUserTokens\updateUser(), Linker\userToolLinks(), and Maintenance\validateUserOption().
|
static |
Returns a User object corresponding to the given UserIdentity.
UserIdentity | $identity |
Definition at line 684 of file User.php.
Referenced by ChangesListSpecialPage\__construct(), SpecialBlock\canBlockEmail(), SpecialMute\getFormFields(), RecentChange\getPerformer(), MWTimestamp\getRelativeTimestamp(), ArchivedFile\getUser(), File\getUser(), MediaWiki\User\UserGroupManager\getUserAutopromoteOnceGroups(), MediaWiki\User\UserGroupManager\getUserEffectiveGroups(), MediaWiki\Permissions\PermissionManager\getUserPermissions(), MediaWiki\User\UserGroupManager\removeUserFromGroup(), MediaWiki\User\UserOptionsManager\resetOptions(), MediaWiki\User\UserOptionsManager\saveOptions(), Skin\showEmailUser(), MediaWiki\Storage\DerivedPageDataUpdater\toLegacyUser(), and MediaWiki\Storage\PageUpdater\toLegacyUser().
|
static |
This is slightly less efficient than newFromId(), so use newFromId() if you have both an ID and a name handy.
string | $name | Username, validated by Title::newFromText() |
string | bool | $validate | Validate username. Takes the same parameters as User::getCanonicalName(), except that true is accepted as an alias for 'valid', for BC. |
Definition at line 607 of file User.php.
Referenced by CliInstaller\__construct(), ImageListPager\__construct(), EmailNotification\actuallyNotifyOnPageChange(), Parser\braceSubstitution(), EmailNotification\canSendUserTalkEmail(), Installer\createSysop(), MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), SpecialContributions\execute(), SpecialDeletedContributions\execute(), LoginSignupSpecialPage\execute(), BlockUsers\execute(), DeleteBatch\execute(), EditCLI\execute(), ImportImages\execute(), ImportSiteScripts\execute(), ImportTextFiles\execute(), InvalidateUserSessions\execute(), MakeTestEdits\execute(), MoveBatch\execute(), Protect\execute(), ResetUserEmail\execute(), Undelete\execute(), UppercaseTitlesForUnicodeTransition\execute(), UserrightsPage\fetchUser(), LogFormatter\formatParameterValue(), LogFormatter\formatParameterValueForApi(), BlockListPager\formatValue(), CoreParserFunctions\gender(), WikiPage\getContributors(), RefreshLinksJob\getDataUpdateOptions(), WANCacheReapUpdate\getEventAffectedKeys(), BlockLogFormatter\getMessageParameters(), NewUsersLogFormatter\getMessageParameters(), MediaWiki\Auth\AbstractPasswordPrimaryAuthenticationProvider\getNewPasswordExpiry(), RollbackEdits\getRollbackTitles(), SpecialEmailUser\getTarget(), File\getUser(), DoubleRedirectJob\getUser(), ResourceLoaderContext\getUserObj(), ImportableOldRevisionImporter\import(), ImportableUploadRevisionImporter\import(), WikiRevision\importLogItem(), RequestContext\importScopedSession(), ReassignEdits\initialiseUser(), BotPassword\login(), RequestContext\newExtraneousContext(), MediaWiki\Session\UserInfo\newFromName(), WikiPage\onArticleDelete(), RawAction\onView(), InfoAction\pageInfo(), MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider\providerAllowsAuthenticationDataChange(), EnotifNotifyJob\run(), MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider\sendPasswordResetEmail(), SpecialLog\show(), EditPage\showIntro(), Article\showMissingArticle(), WebInstallerName\submit(), HTMLUserTextField\validate(), and Maintenance\validateUserOption().
|
static |
Create a new user object from a user row.
The row should have the following fields from the user table in it:
stdClass | $row | A row from the user table |
array | null | $data | Further data to load into the object (see User::loadFromRow for valid keys) |
Definition at line 769 of file User.php.
References loadFromRow().
Referenced by MediaWiki\User\UserFactory\newFromRow(), and UserArrayFromResult\setCurrent().
|
static |
Create a new user object using data from session.
If the login credentials are invalid, the result is an anonymous user.
WebRequest | null | $request | Object to use; the global request will be used if omitted. |
Definition at line 747 of file User.php.
Referenced by RequestContext\getUser().
|
static |
Static factory method for creation of a "system" user from username.
A "system" user is an account that's used to attribute logged actions taken by MediaWiki itself, as opposed to a bot or human user. Examples might include the 'Maintenance script' or 'Conversion script' accounts used by various scripts in the maintenance/ directory or accounts such as 'MediaWiki message delivery' used by the MassMessage extension.
This can optionally create the user if it doesn't exist, and "steal" the account if it does exist.
"Stealing" an existing user is intended to make it impossible for normal authentication processes to use the account, effectively disabling the account for normal use:
string | $name | Username |
array | $options | Options are:
|
Definition at line 810 of file User.php.
References $dbr, DB_PRIMARY, DB_REPLICA, and wfDeprecatedMsg().
Referenced by ImageBuilder\addMissingImage(), Installer\createMainpage(), AddChangeTag\execute(), BlockUsers\execute(), CleanupCaps\execute(), CleanupSpam\execute(), DeleteBatch\execute(), DeleteDefaultMessages\execute(), DeleteEqualMessages\execute(), EditCLI\execute(), ImportImages\execute(), ImportSiteScripts\execute(), ImportTextFiles\execute(), MoveBatch\execute(), Protect\execute(), RollbackEdits\execute(), Undelete\execute(), UppercaseTitlesForUnicodeTransition\execute(), and PopulateArchiveRevId\makeDummyRevisionRow().
|
private |
Generate a current or new-future timestamp to be stored in the user_touched field when we update things.
Definition at line 2218 of file User.php.
References wfTimestamp().
User::pingLimiter | ( | $action = 'edit' , |
|
$incrBy = 1 |
|||
) |
Primitive rate limits: enforce maximum actions per time period to put a brake on flooding.
The method generates both a generic profiling point and a per action one (suffix being "-$action").
string | $action | Action to enforce; 'edit' if unspecified |
int | $incrBy | Positive amount to increment counter by [defaults to 1] |
MWException |
Definition at line 1689 of file User.php.
References $cache, $keys, and $wgRateLimits.
Referenced by SpecialChangeEmail\attemptChange(), and PasswordReset\execute().
User::probablyCan | ( | string | $action, |
PageIdentity | $target, | ||
PermissionStatus | $status = null |
||
) |
string | $action | |
PageIdentity | $target | |
PermissionStatus | null | $status |
Implements MediaWiki\Permissions\Authority.
|
static |
string | $dbDomain | |
int | $userId |
Definition at line 497 of file User.php.
References $cache.
Referenced by UserRightsProxy\invalidateCache().
User::removeGroup | ( | $group | ) |
Remove the user from the given group.
This takes immediate effect.
string | $group | Name of the group to remove |
User::removeWatch | ( | PageIdentity | $title, |
$checkRights = self::CHECK_USER_RIGHTS |
|||
) |
Stop watching an article.
PageIdentity | $title | the article to look at |
bool | $checkRights | Whether to check 'viewmywatchlist'/'editmywatchlist' rights. Pass User::CHECK_USER_RIGHTS or User::IGNORE_USER_RIGHTS. |
Definition at line 3155 of file User.php.
References $title, $watchlistManager, and wfDeprecated().
User::requiresHTTPS | ( | ) |
Determine based on the wiki configuration and the user's options, whether this user must be over HTTPS no matter what.
Definition at line 2790 of file User.php.
References $wgForceHTTPS, and $wgSecureLogin.
|
static |
Reset the cache used in idFromName().
In tests, reset the service container. There is no use-case for this in production code.
Definition at line 954 of file User.php.
References wfDeprecated().
User::resetOptions | ( | $resetKinds = [ 'registered', 'registered-multiselect', 'registered-checkmatrix', 'unused' ] , |
|
IContextSource | $context = null |
||
) |
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.
array | string | $resetKinds | Which kinds of preferences to reset. Defaults to [ 'registered', 'registered-multiselect', 'registered-checkmatrix', 'unused' ] for backwards-compatibility. |
IContextSource | null | $context | Context source used when $resetKinds does not contain 'all', passed to getOptionKinds(). Defaults to RequestContext::getMain() when null. |
Definition at line 2752 of file User.php.
References wfDeprecated().
User::resetTokenFromOption | ( | $oname | ) |
Reset a token stored in the preferences (like the watchlist one).
Does not save user's preferences (similarly to setOption()).
string | $oname | The option name to reset the token in |
Definition at line 2671 of file User.php.
References $wgHiddenPrefs.
User::saveSettings | ( | ) |
Save this user's settings into the database.
Definition at line 3297 of file User.php.
References Wikimedia\Rdbms\IDatabase\affectedRows(), DB_PRIMARY, Wikimedia\Rdbms\IDatabase\timestamp(), Wikimedia\Rdbms\IDatabase\timestampOrNull(), Wikimedia\Rdbms\IDatabase\update(), wfGetDB(), and wfReadOnly().
Referenced by MediaWiki\Auth\AuthManager\autoCreateUser(), MediaWiki\Session\SessionManager\invalidateSessionsForUser(), and MediaWiki\Session\SessionBackend\save().
User::sendConfirmationMail | ( | $type = 'created' | ) |
User::sendMail | ( | $subject, | |
$body, | |||
$from = null , |
|||
$replyto = null |
|||
) |
Send an e-mail to this user's account.
Does not check for confirmed status or validity.
string | $subject | Message subject |
string | $body | Message body |
User | null | $from | Optional sending user; if unspecified, default $wgPasswordSender will be used. |
MailAddress | null | $replyto | Reply-To address |
Definition at line 3815 of file User.php.
References $wgPasswordSender, and wfMessage().
Referenced by MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider\sendNewAccountEmail().
User::setActorId | ( | int | $actorId | ) |
Sets the actor id.
For use by ActorStore only. Should be removed once callers of getActorId() have been migrated to using ActorNormalization.
int | $actorId |
User::setCookies | ( | $request = null , |
|
$secure = null , |
|||
$rememberMe = false |
|||
) |
Persist this user's session (e.g.
set cookies)
WebRequest | null | $request | WebRequest object to use; the global request will be used if null is passed. |
bool | null | $secure | Whether to force secure/insecure cookies or use default |
bool | $rememberMe | Whether to add a Token cookie for elongated sessions |
User::setEmail | ( | string | $str | ) |
User::setEmailAuthenticationTimestamp | ( | $timestamp | ) |
User::setEmailWithConfirmation | ( | string | $str | ) |
Set the user's e-mail address and a confirmation mail if needed.
string | $str | New e-mail address |
Definition at line 2474 of file User.php.
References $type, $wgEmailAuthentication, $wgEnableEmail, and wfMessage().
User::setId | ( | $v | ) |
Set the user and reload all fields according to a given ID.
int | $v | User ID to reload |
Definition at line 2107 of file User.php.
Referenced by MediaWiki\Auth\AuthManager\autoCreateUser().
User::setItemLoaded | ( | $item | ) |
User::setName | ( | $str | ) |
Set the user name.
This does not reload fields from the database according to the given name. Rather, it is used to create a temporary "nonexistent user" for later addition to the database. It can also be used to set the IP address for an anonymous user to something other than the current remote IP.
string | $str | New user name to set |
User::setOption | ( | $oname, | |
$val | |||
) |
Set the given option for a user.
You need to call saveSettings() to actually write to the database.
string | $oname | The option to set |
mixed | $val | New value to set |
Definition at line 2627 of file User.php.
Referenced by __set().
User::setRealName | ( | string | $str | ) |
User::setToken | ( | $token = false | ) |
Set the random token (used for persistent authentication) Called from loadDefaults() among other places.
string | bool | $token | If specified, set the token to this value |
Definition at line 2417 of file User.php.
Referenced by MediaWiki\Session\SessionManager\invalidateSessionsForUser(), and MediaWiki\Auth\AuthManager\setDefaultUserOptions().
User::spreadAnyEditBlock | ( | ) |
|
protected |
User::touch | ( | ) |
Update the "touched" timestamp for the user.
This is useful on various login/logout events when making sure that a browser or proxy that has multiple tenants does not suffer cache pollution where the new user sees the old users content. The value of getTouched() is checked when determining 304 vs 200 responses. Unlike invalidateCache(), this preserves the User object cache and avoids database writes.
Definition at line 2280 of file User.php.
References $cache.
User::useFilePatrol | ( | ) |
Check whether to enable new files patrol features for this user.
Definition at line 3062 of file User.php.
References $wgUseFilePatrol, and $wgUseRCPatrol.
Referenced by ChangesList\isUnpatrolled().
User::useNPPatrol | ( | ) |
Check whether to enable new pages patrol features for this user.
Definition at line 3050 of file User.php.
References $wgUseNPPatrol, and $wgUseRCPatrol.
Referenced by WatchedItemQueryService\getWatchedItemsWithRCInfoQueryFilterConds(), ChangesList\isUnpatrolled(), and MediaWiki\Preferences\DefaultPreferencesFactory\rcPreferences().
User::useRCPatrol | ( | ) |
Check whether to enable recent changes patrol features for this user.
Definition at line 3041 of file User.php.
References $wgUseRCPatrol.
Referenced by WatchedItemQueryService\getWatchedItemsWithRCInfoQueryFilterConds(), ChangesList\isUnpatrolled(), MediaWiki\Preferences\DefaultPreferencesFactory\rcPreferences(), and MediaWiki\Preferences\DefaultPreferencesFactory\watchlistPreferences().
User::validateCache | ( | $timestamp | ) |
|
static |
Get the username corresponding to a given user ID.
int | $id | User ID |
Definition at line 917 of file User.php.
Referenced by UserrightsPage\fetchUser().
|
static |
int null User::$mActorId |
|
protected |
TODO: This should be removed when User::isAllowUsertalk is removed.
AbstractBlock null User::$mBlock |
string int User::$mBlockedby |
|
private |
|
protected |
|
staticprotected |
List of member variables which are saved to the shared cache (memcached).
Any operation which changes the corresponding database fields must call a cache-clearing function.
|
protected |
string User::$mFrom |
Initialization data source if mLoadedItems!==true.
May be one of:
Use the User::newFrom*() family of functions to set this.
|
protected |
bool User::$mHideName |
|
protected |
|
protected |
|
private |
|
private |
|
protected |
const User::GETOPTIONS_EXCLUDE_DEFAULTS = UserOptionsLookup::EXCLUDE_DEFAULTS |
Exclude user options that are set to their default value.
const User::INVALID_TOKEN = '*** INVALID ***' |
const User::MAINTENANCE_SCRIPT_USER = 'Maintenance script' |
Username used for various maintenance scripts.
Definition at line 122 of file User.php.
Referenced by ImageBuilder\addMissingImage(), AddChangeTag\execute(), BlockUsers\execute(), EditCLI\execute(), ImportImages\execute(), ImportTextFiles\execute(), Protect\execute(), RollbackEdits\execute(), UppercaseTitlesForUnicodeTransition\execute(), and PopulateArchiveRevId\makeDummyRevisionRow().
const User::TOKEN_LENGTH = 32 |
|
private |
Version number to tag cached versions of serialized User objects.
Should be increased when $mCacheVars
or one of it's members changes.