MediaWiki  REL1_19
User Class Reference

The User object encapsulates all of the user-specific settings (user_id, name, rights, password, email address, options, last login time). More...

Inheritance diagram for User:

List of all members.

Public Member Functions

 __construct ()
 Lightweight constructor for an anonymous user.
 __toString ()
 addAutopromoteOnceGroups ($event)
 Add the user to the group if he/she meets given criteria.
 addGroup ($group)
 Add the user to the given group.
 addNewUserLogEntry ($byEmail=false, $reason= '')
 Add a newuser log entry for this user.
 addNewUserLogEntryAutoCreate ()
 Add an autocreate newuser log entry for this user Used by things like CentralAuth and perhaps other authplugins.
 addToDatabase ()
 Add this existing user object to the database.
 addWatch ($title)
 Watch an article.
 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.
 checkPassword ($password)
 Check to see if the given clear-text password is one of the accepted passwords.
 checkTemporaryPassword ($plaintext)
 Check if the given clear-text password matches the temporary password sent by e-mail for password reset operations.
 clearAllNotifications ()
 Resets all of the given user's page-change notification timestamps.
 clearInstanceCache ($reloadFrom=false)
 Clear various cached data stored in this object.
 clearNotification (&$title)
 Clear the user's notification timestamp for the given title.
 confirmEmail ()
 Mark the e-mail address confirmed.
 doLogout ()
 Clear the user's cookies and session, and reset the instance cache.
 editToken ($salt= '', $request=null)
 Alias for getEditToken.
 getAutomaticGroups ($recache=false)
 Get the list of implicit group memberships this user has.
 getBlock ($bFromSlave=true)
 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.
 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.
 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.
 getFirstEditTimestamp ()
 Get the timestamp of the first edit.
 getFormerGroups ()
 Returns the groups the user has belonged to.
 getGroups ()
 Get the list of explicit group memberships this user has.
 getId ()
 Get the user's ID.
 getIntOption ($oname, $defaultOverride=0)
 Get the user's current setting for a given option, as a boolean value.
 getName ()
 Get the user name, or the IP of an anonymous user.
 getNewMessageLinks ()
 Return the talk page(s) this user has new messages on.
 getNewtalk ()
 Check if the user has new messages.
 getOption ($oname, $defaultOverride=null, $ignoreHidden=false)
 Get the user's current setting for a given option.
 getOptions ()
 Get all user's options.
 getPageRenderingHash ()
 Generate a string which will be different for any combination of user options which would produce different parser output.
 getPasswordValidity ($password)
 Given unvalidated password input, return error message on failure.
 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.
 getSkin ()
 Get the current skin, loading it if required.
 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.
 getTouched ()
 Get the user touched timestamp.
 getUserPage ()
 Get this user's personal page title.
 idForName ()
 If only this user's username is known, and it exists, return the user ID.
 incEditCount ()
 Increment the user's edit-count field.
 inDnsBlacklist ($ip, $bases)
 Whether the given IP is in a given DNS blacklist.
 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 ($action= '')
 Internal mechanics of testing a permission.
 isAllowedAll ()
 isAllowedAny ()
 Check if user is allowed to access a feature / make an action.
 isAllowedToCreateAccount ()
 Get whether the user is allowed to create an account.
 isAnon ()
 Get whether the user is anonymous.
 isBlocked ($bFromSlave=true)
 Check if user is blocked.
 isBlockedFrom ($title, $bFromSlave=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.
 isBlockedGlobally ($ip= '')
 Check if user is blocked on all wikis.
 isDnsBlacklisted ($ip, $checkWhitelist=false)
 Whether the given IP is in a DNS blacklist.
 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.
 isItemLoaded ($item, $all= 'all')
 Return whether an item has been loaded.
 isLocked ()
 Check if user account is locked.
 isLoggedIn ()
 Get whether the user is logged in.
 isNewbie ()
 Determine whether the user is a newbie.
 isPasswordReminderThrottled ()
 Has password reminder email been sent within the last $wgPasswordReminderResendTime hours?
 isPingLimitable ()
 Is this user subject to rate limiting?
 isValidPassword ($password)
 Is the input a valid password for this user?
 isWatched ($title)
 Check the watched status of an article.
 load ()
 Load the user table data for this object from the source given by mFrom.
 loadDefaults ($name=false)
 Set cached properties to default.
 loadFromDatabase ()
 Load user and user_group data from the database.
 loadFromId ()
 Load user table data, given mId has already been set.
 loadFromRow ($row)
 Initialize this object from a row from the user table.
 logout ()
 Log this user out.
 matchEditToken ($val, $salt= '', $request=null)
 Check given value against the token value stored in the session.
 matchEditTokenNoSuffix ($val, $salt= '', $request=null)
 Check given value against the token value stored in the session, ignoring the suffix.
 pingLimiter ($action= 'edit')
 Primitive rate limits: enforce maximum actions per time period to put a brake on flooding.
 removeGroup ($group)
 Remove the user from the given group.
 removeWatch ($title)
 Stop watching an article.
 resetOptions ()
 Reset all options to the site defaults.
 saveSettings ()
 Save this user's settings into the database.
 saveToCache ()
 Save user data to the shared cache.
 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.
 setCookies ($request=null)
 Set the default cookies for this session on the user's client.
 setEmail ($str)
 Set the user's e-mail address.
 setEmailAuthenticationTimestamp ($timestamp)
 Set the e-mail authentication timestamp.
 setId ($v)
 Set the user and reload all fields according to a given ID.
 setInternalPassword ($str)
 Set the password and reset the random token unconditionally.
 setName ($str)
 Set the user name.
 setNewpassword ($str, $throttle=true)
 Set the password for a password reminder or new account email.
 setNewtalk ($val)
 Update the 'You have new messages!' status.
 setOption ($oname, $val)
 Set the given option for a user.
 setPassword ($str)
 Set the password and reset the random token.
 setRealName ($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.
 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.

Static Public Member Functions

static changeableByGroup ($group)
 Returns an array of the groups that a particular group can add/remove.
static comparePasswords ($hash, $password, $userId=false)
 Compare a password hash with a plain-text password.
static createNew ($name, $params=array())
 Add a user to the database, return the user object.
static crypt ($password, $salt=false)
 Make a new-style password hash.
static edits ($uid)
 Count the number of edits of a user.
static generateToken ($salt= '')
 Generate a looking random token for various uses.
static getAllGroups ()
 Return the set of defined explicit groups.
static getAllRights ()
 Get a list of all available permissions.
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 getGroupMember ($group, $username= '#')
 Get the localized descriptive name for a member of a group, if it exists.
static getGroupName ($group)
 Get the localized descriptive name for a group, if it exists.
static getGroupPage ($group)
 Get the title of a page describing a particular group.
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 ()
 Get a list of implicit groups.
static getRightDescription ($right)
 Get the description of a given right.
static idFromName ($name)
 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 IPv4 address?
static isLocallyBlockedProxy ($ip)
 Check if an IP address is in the local proxy list.
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 isValidEmailAddr ($addr)
 Does a string look like an e-mail address?
static isValidUserName ($name)
 Is the input a valid username?
static makeGroupLinkHTML ($group, $text= '')
 Create a link to the group in HTML, if available; else return the group name.
static makeGroupLinkWiki ($group, $text= '')
 Create a link to the group in Wikitext, if available; else return the group name.
static oldCrypt ($password, $userId)
 Make an old-style password hash.
static passwordChangeInputAttribs ()
 Provide an array of HTML5 attributes to put on an input element intended for the user to enter a new password.
static randomPassword ()
 Return a random password.
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 factory method for creation from username.
static newFromId ($id)
 Static factory method for creation from a given user ID.
static newFromConfirmationCode ($code)
 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 or cookies.
static newFromRow ($row)
 Create a new user object from a user row.

Public Attributes

 $mBlock
 $mBlockedby
 $mBlockedGlobally
 $mBlockreason
 $mDatePreference
 $mEffectiveGroups
 $mFormerGroups
 $mFrom
 String Initialization data source if mLoadedItems!==true.
 $mHash
 $mHideName
 $mImplicitGroups
 $mLocked
 $mNewtalk
 Lazy-initialized variables, invalidated with clearInstanceCache.
 $mOptions
 $mRights
const EDIT_TOKEN_SUFFIX = EDIT_TOKEN_SUFFIX
const MW_USER_VERSION = MW_USER_VERSION
const USER_TOKEN_LENGTH = USER_TOKEN_LENGTH
 Global constants made accessible as class constants so that autoloader magic can be used.
Cache variables
 $mId
 $mName
 $mRealName
 $mPassword
 $mNewpassword
 $mNewpassTime
 $mEmail
 $mTouched
 $mToken
 $mEmailAuthenticated
 $mEmailToken
 $mEmailTokenExpires
 $mRegistration
 $mGroups
 $mOptionOverrides
 $mCookiePassword
 $mEditCount
 $mAllowUsertalk

Static Public Attributes

static $idCacheByName = array()
static $mAllRights = false
 String Cached results of getAllRights()
static $mCacheVars
 Array of Strings List of member variables which are saved to the shared cache (memcached).
static $mCoreRights
 Array of Strings Core rights.

Protected Member Functions

 checkNewtalk ($field, $id, $fromMaster=false)
 Internal uncached check for new messages.
 clearCookie ($name)
 Clear a cookie on the user's client.
 compareSecrets ($answer, $test)
 A comparison of two strings, not vulnerable to timing attacks.
 deleteNewtalk ($field, $id)
 Clear the new messages flag for the given user.
 getTokenUrl ($page, $token)
 Internal function to format the e-mail validation/invalidation URLs.
 loadFromUserObject ($user)
 Load the data for this user object from another user object.
 loadOptions ()
 saveOptions ()
 setCookie ($name, $value, $exp=0)
 Set a cookie on the user's client.
 spreadBlock ()
 If this (non-anonymous) user is blocked, block the IP address they've successfully logged in from.
 updateNewtalk ($field, $id)
 Add or update the new messages flag.

Private Member Functions

 clearSharedCache ()
 Clear user data from memcached.
 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.
 decodeOptions ($str)
 Set this user's options from an encoded string.
 getBlockedStatus ($bFromSlave=true)
 Get blocking information.
 invalidationTokenUrl ($token)
 Return a URL the user can use to invalidate their email address.
 loadFromSession ()
 Load user data from the session or login cookie.
 loadGroups ()
 Load the groups from the database if they aren't already loaded.
 setCookiePassword ($str)
 Set the cookie password.
 setItemLoaded ($item)
 Set that an item has been loaded.

Static Private Member Functions

static newTouchedTimestamp ()
 Generate a current or new-future timestamp to be stored in the user_touched field when we update things.

Private Attributes

 $mBlockedFromCreateAccount = false
 $mRequest
 $mOptionsLoaded
 Bool Whether the cache variables have been loaded.
 $mLoadedItems = array()
 Array with already loaded items or true if all items have been loaded.

Detailed Description

The User object encapsulates all of the user-specific settings (user_id, name, rights, password, 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.

Definition at line 59 of file User.php.


Constructor & Destructor Documentation

Lightweight constructor for an anonymous user.

Use the User::newFrom* factory functions for other kinds of users.

See also:
newFromName()
newFromId()
newFromConfirmationCode()
newFromSession()
newFromRow()

Definition at line 229 of file User.php.

References clearInstanceCache().

Here is the call graph for this function:


Member Function Documentation

Returns:
String

Definition at line 236 of file User.php.

References getName().

Here is the call graph for this function:

Add the user to the group if he/she meets given criteria.

Contrary to autopromotion by $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.

Parameters:
$eventString key in $wgAutopromoteOnce (each one has groups/criteria)
Returns:
array Array of groups the user has been promoted to.
See also:
$wgAutopromoteOnce

Definition at line 1177 of file User.php.

References $wgAutopromoteOnceLogInRC, addGroup(), Autopromote\getAutopromoteOnceGroups(), getGroups(), getId(), and getUserPage().

Here is the call graph for this function:

User::addGroup ( group)

Add the user to the given group.

This takes immediate effect.

Parameters:
$groupString Name of the group to add

Definition at line 2435 of file User.php.

References getEffectiveGroups(), getGroupPermissions(), getId(), invalidateCache(), loadGroups(), wfGetDB(), and wfRunHooks().

Referenced by addAutopromoteOnceGroups(), and UserTest\setUpUser().

Here is the call graph for this function:

Here is the caller graph for this function:

User::addNewUserLogEntry ( byEmail = false,
reason = '' 
)

Add a newuser log entry for this user.

Before 1.19 the return value was always true.

Parameters:
$byEmailBoolean: account made by email?
$reasonString: user supplied reason
Returns:
int|bool True if not $wgNewUserLog; otherwise ID of log item or 0 on failure

Definition at line 3947 of file User.php.

References $wgContLang, $wgNewUserLog, $wgUser, getId(), getName(), getUserPage(), and wfMsgForContent().

Here is the call graph for this function:

Add an autocreate newuser log entry for this user Used by things like CentralAuth and perhaps other authplugins.

Returns:
true

Definition at line 3981 of file User.php.

References $wgNewUserLog, getId(), and getUserPage().

Here is the call graph for this function:

Add this existing user object to the database.

Definition at line 2945 of file User.php.

References clearInstanceCache(), load(), saveOptions(), and wfGetDB().

Here is the call graph for this function:

User::addWatch ( title)

Watch an article.

Parameters:
$titleTitle of the article to look at

Definition at line 2611 of file User.php.

References $title, WatchedItem\fromUserTitle(), and invalidateCache().

Referenced by WatchAction\doWatch().

Here is the call graph for this function:

Here is the caller graph for this function:

If user is blocked, return the name of the user who placed the block.

Returns:
String name of blocker

Definition at line 1611 of file User.php.

References getBlockedStatus().

Referenced by SpecialBlock\checkUnblockSelf().

Here is the call graph for this function:

Here is the caller graph for this function:

If user is blocked, return the specified reason for the block.

Returns:
String Blocking reason

Definition at line 1620 of file User.php.

References getBlockedStatus().

Here is the call graph for this function:

Is this user allowed to receive e-mails within limits of current site configuration?

Returns:
Bool

Definition at line 3452 of file User.php.

References getOption(), and isEmailConfirmed().

Here is the call graph for this function:

Is this user allowed to send e-mails within limits of current site configuration?

Returns:
Bool

Definition at line 3437 of file User.php.

References $wgEnableEmail, $wgEnableUserEmail, isAllowed(), isEmailConfirmed(), and wfRunHooks().

Here is the call graph for this function:

static User::changeableByGroup ( group) [static]

Returns an array of the groups that a particular group can add/remove.

Parameters:
$groupString: the group to check for whether it can add/remove
Returns:
Array array( 'add' => array( addablegroups ), 'remove' => array( removablegroups ), 'add-self' => array( addablegroups to self), 'remove-self' => array( removable groups from self) )

Definition at line 3709 of file User.php.

References $wgAddGroups, $wgGroupsAddToSelf, $wgGroupsRemoveFromSelf, $wgRemoveGroups, and getAllGroups().

Referenced by changeableGroups().

Here is the call graph for this function:

Here is the caller graph for this function:

Returns an array of groups that this user can add and remove.

Returns:
Array array( 'add' => array( addablegroups ), 'remove' => array( removablegroups ), 'add-self' => array( addablegroups to self), 'remove-self' => array( removable groups from self) )

Definition at line 3773 of file User.php.

References changeableByGroup(), getAllGroups(), getEffectiveGroups(), and isAllowed().

Here is the call graph for this function:

User::checkNewtalk ( field,
id,
fromMaster = false 
) [protected]

Internal uncached check for new messages.

See also:
getNewtalk()
Parameters:
$fieldString 'user_ip' for anonymous users, 'user_id' otherwise
$idString|Int User's IP address for anonymous users, User ID otherwise
$fromMasterBool true to fetch from the master, false for a slave
Returns:
Bool True if the user has new messages

Definition at line 1818 of file User.php.

References $ok, and wfGetDB().

Referenced by getNewtalk().

Here is the call graph for this function:

Here is the caller graph for this function:

User::checkPassword ( password)

Check to see if the given clear-text password is one of the accepted passwords.

Parameters:
$passwordString: user password.
Returns:
Boolean: True if the given password is correct, otherwise False.

Definition at line 3128 of file User.php.

References $wgAuth, $wgLegacyEncoding, isValidPassword(), and load().

Referenced by SpecialChangeEmail\attemptChange().

Here is the call graph for this function:

Here is the caller graph for this function:

User::checkTemporaryPassword ( plaintext)

Check if the given clear-text password matches the temporary password sent by e-mail for password reset operations.

Parameters:
$plaintextstring
Returns:
Boolean: True if matches, false otherwise

Definition at line 3173 of file User.php.

References $wgNewPasswordExpiry, getId(), load(), and wfTimestamp().

Referenced by SpecialChangeEmail\attemptChange().

Here is the call graph for this function:

Here is the caller graph for this function:

Resets all of the given user's page-change notification timestamps.

If e-notif e-mails are on, they will receive notification mails on the next change of any watched page.

Definition at line 2690 of file User.php.

References $wgShowUpdatedMarker, $wgUseEnotif, getId(), setNewtalk(), and wfGetDB().

Here is the call graph for this function:

User::clearCookie ( name) [protected]

Clear a cookie on the user's client.

Parameters:
$nameString Name of the cookie to clear

Definition at line 2754 of file User.php.

References setCookie().

Referenced by doLogout(), and setCookies().

Here is the call graph for this function:

Here is the caller graph for this function:

User::clearInstanceCache ( reloadFrom = false)

Clear various cached data stored in this object.

Parameters:
$reloadFrombool|String Reload user and user_groups table data from a given source. May be "name", "id", "defaults", "session", or false for no reload.

Definition at line 1208 of file User.php.

Referenced by __construct(), addToDatabase(), doLogout(), and setId().

Here is the caller graph for this function:

User::clearNotification ( &$  title)

Clear the user's notification timestamp for the given title.

If e-notif e-mails are on, they will receive notification mails on the next change of the page if it's watched etc.

Parameters:
$titleTitle of the article to look at

Definition at line 2633 of file User.php.

References $title, $wgShowUpdatedMarker, $wgUseEnotif, getName(), isAnon(), isWatched(), setNewtalk(), wfGetDB(), wfReadOnly(), and wfRunHooks().

Referenced by WikiPage\doViewUpdates().

Here is the call graph for this function:

Here is the caller graph for this function:

User::clearSharedCache ( ) [private]

Clear user data from memcached.

Use after applying fun updates to the database; caller's responsibility to update user_touched if appropriate.

Called implicitly from invalidateCache() and saveSettings().

Definition at line 1925 of file User.php.

References $wgMemc, load(), and wfMemcKey().

Referenced by invalidateCache(), and saveSettings().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::comparePasswords ( hash,
password,
userId = false 
) [static]

Compare a password hash with a plain-text password.

Requires the user ID if there's a chance that the hash is an old-style hash.

Parameters:
$hashString Password hash
$passwordString Plain-text password to compare
$userIdString|bool User ID for old-style password salt
Returns:
Boolean

Definition at line 3918 of file User.php.

References $result, oldCrypt(), and wfRunHooks().

Referenced by ExternalUser_MediaWiki\authenticate().

Here is the call graph for this function:

Here is the caller graph for this function:

User::compareSecrets ( answer,
test 
) [protected]

A comparison of two strings, not vulnerable to timing attacks.

Parameters:
string$answerthe secret string that you are comparing against.
string$testcompare this string to the $answer.
Returns:
bool True if the strings are the same, false otherwise

Definition at line 1019 of file User.php.

References $result, and $test.

Referenced by loadFromSession().

Here is the caller graph for this function:

User::confirmationToken ( &$  expiration) [private]

Generate, store, and return a new e-mail confirmation code.

A hash (unsalted, since it's used as a key) is stored.

Note:
Call saveSettings() after calling this function to commit this change to the database.
Parameters:
&$expiration Mixed : Accepts the expiration time
Returns:
String New token

Definition at line 3342 of file User.php.

References $wgUserEmailConfirmationTokenExpiry, MWCryptRand\generateHex(), load(), and wfTimestamp().

Referenced by sendConfirmationMail().

Here is the call graph for this function:

Here is the caller graph for this function:

User::confirmationTokenUrl ( token) [private]

Return a URL the user can use to confirm their email address.

Parameters:
$tokenString Accepts the email confirmation token
Returns:
String New token URL

Definition at line 3360 of file User.php.

References getTokenUrl().

Referenced by sendConfirmationMail().

Here is the call graph for this function:

Here is the caller graph for this function:

Mark the e-mail address confirmed.

Note:
Call saveSettings() after calling this function to commit the change.
Returns:
true

Definition at line 3400 of file User.php.

References setEmailAuthenticationTimestamp(), wfRunHooks(), and wfTimestampNow().

Here is the call graph for this function:

static User::createNew ( name,
params = array() 
) [static]

Add a user to the database, return the user object.

Parameters:
$nameString Username to add
$paramsArray of Strings Non-default parameters to save to the database as user_* fields:
  • password The user's password hash. Password logins will be disabled if this is omitted.
  • newpassword Hash for a temporary password that has been mailed to the user
  • email The user's email address
  • email_authenticated The email authentication timestamp
  • real_name The user's real name
  • options An associative array of non-default options
  • token Random authentication token. Do not set.
  • registration Registration timestamp. Do not set.
Returns:
User object, or null if the username already exists

Definition at line 2907 of file User.php.

References $user, newFromId(), and wfGetDB().

Referenced by ApiTestUser\__construct(), UserWrapper\__construct(), TitlePermissionTest\setUp(), and ParserTest\setupDatabase().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::crypt ( password,
salt = false 
) [static]

Make a new-style password hash.

Parameters:
$passwordString Plain-text password
bool | string$saltOptional salt, may be random or the user ID.

If unspecified or false, will generate one automatically

Returns:
String Password hash

Definition at line 3890 of file User.php.

References $wgPasswordSalt, MWCryptRand\generateHex(), and wfRunHooks().

Referenced by setInternalPassword(), and setNewpassword().

Here is the call graph for this function:

Here is the caller graph for this function:

User::decodeOptions ( str) [private]

Set this user's options from an encoded string.

Parameters:
$strString Encoded options to import
Deprecated:
in 1.19 due to removal of user_options from the user table

Definition at line 2717 of file User.php.

References getDefaultOptions(), and wfDeprecated().

Referenced by loadFromRow().

Here is the call graph for this function:

Here is the caller graph for this function:

User::deleteNewtalk ( field,
id 
) [protected]

Clear the new messages flag for the given user.

Parameters:
$fieldString 'user_ip' for anonymous users, 'user_id' otherwise
$idString|Int User's IP address for anonymous users, User ID otherwise
Returns:
Bool True if successful, false otherwise

Definition at line 1856 of file User.php.

References wfDebug(), and wfGetDB().

Referenced by setNewtalk().

Here is the call graph for this function:

Here is the caller graph for this function:

Clear the user's cookies and session, and reset the instance cache.

See also:
logout()

Definition at line 2821 of file User.php.

References clearCookie(), clearInstanceCache(), getRequest(), setCookie(), and wfTimestampNow().

Referenced by logout().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::edits ( uid) [static]

Count the number of edits of a user.

Todo:
It should not be static and some day should be merged as proper member function / deprecated -- domas
Parameters:
$uidInt User ID to check
Returns:
Int the user's edit count

Definition at line 803 of file User.php.

References $count, $dbr, wfGetDB(), wfProfileIn(), and wfProfileOut().

Referenced by getEditCount(), and Linker\userToolLinks().

Here is the call graph for this function:

Here is the caller graph for this function:

User::editToken ( salt = '',
request = null 
)

Alias for getEditToken.

Deprecated:
since 1.19, use getEditToken instead.
Parameters:
$saltString|Array of Strings Optional function-specific data for hashing
$requestWebRequest object to use or null to use $wgRequest
Returns:
String The new edit token

Definition at line 3196 of file User.php.

References getEditToken(), and wfDeprecated().

Here is the call graph for this function:

static User::generateToken ( salt = '') [static]

Generate a looking random token for various uses.

Parameters:
$saltString Optional salt value
Returns:
String The new random token

Definition at line 3239 of file User.php.

References MWCryptRand\generateHex().

Here is the call graph for this function:

static User::getAllGroups ( ) [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.

Returns:
Array of internal group names

Definition at line 3607 of file User.php.

References $wgGroupPermissions, and $wgRevokePermissions.

Referenced by UsersPager\__construct(), changeableByGroup(), changeableGroups(), ApiQueryAllUsers\execute(), UsersPager\getAllGroups(), ApiUserrights\getAllowedParams(), and ApiQueryAllUsers\getAllowedParams().

Here is the caller graph for this function:

static User::getAllRights ( ) [static]

Get a list of all available permissions.

Returns:
Array of permission names

Definition at line 3619 of file User.php.

References $mAllRights, $mCoreRights, $wgAvailableRights, and wfRunHooks().

Referenced by ApiQueryAllUsers\getAllowedParams().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Parameters:
$recacheBool Whether to avoid the cache
Returns:
Array of String internal group names

Definition at line 2367 of file User.php.

References Autopromote\getAutopromoteGroups(), getId(), wfProfileIn(), and wfProfileOut().

Referenced by getEffectiveGroups().

Here is the call graph for this function:

Here is the caller graph for this function:

User::getBlock ( bFromSlave = true)

Get the block affecting the user, or null if the user is not blocked.

Parameters:
$bFromSlaveBool Whether to check the slave database instead of the master
Returns:
Block|null

Definition at line 1576 of file User.php.

References getBlockedStatus().

Referenced by isBlocked().

Here is the call graph for this function:

Here is the caller graph for this function:

User::getBlockedStatus ( bFromSlave = true) [private]

Get blocking information.

Parameters:
$bFromSlaveBool Whether to check the slave database first. To improve performance, non-critical checks are done against slaves. Check when actually saving should be done against master.

Definition at line 1277 of file User.php.

References $wgProxyWhitelist, $wgUser, getName(), getRequest(), isAllowed(), isAnon(), isDnsBlacklisted(), load(), Block\newFromTarget(), Block\setBlocker(), wfDebug(), wfMsg(), wfProfileIn(), wfProfileOut(), and wfRunHooks().

Referenced by blockedBy(), blockedFor(), getBlock(), getBlockId(), isBlockedFromCreateAccount(), isBlockedFromEmailuser(), and isHidden().

Here is the call graph for this function:

Here is the caller graph for this function:

If user is blocked, return the ID for the block.

Returns:
Int Block ID

Definition at line 1629 of file User.php.

References false, and getBlockedStatus().

Here is the call graph for this function:

User::getBoolOption ( oname)

Get the user's current setting for a given option, as a boolean value.

Parameters:
$onameString The option to check
Returns:
Bool User's current value for the option
See also:
getOption()

Definition at line 2234 of file User.php.

References getOption().

Here is the call graph for this function:

static User::getCanonicalName ( name,
validate = 'valid' 
) [static]

Given unvalidated user input, return a canonical username, or false if the username is invalid.

Parameters:
$nameString User input
$validateString|Bool type of validation to use:
  • false No validation
  • 'valid' Valid for batch processes
  • 'usable' Valid for batch processes and login
  • 'creatable' Valid for batch processes, login and account creation
Returns:
bool|string

Definition at line 749 of file User.php.

References $t, $wgAuth, $wgContLang, isCreatableName(), isUsableName(), isValidUserName(), Title\makeTitle(), and Title\newFromText().

Referenced by RollbackEdits\execute(), UserrightsPage\execute(), ApiQueryUsers\execute(), UserrightsPage\fetchUser(), ApiRollback\getRbUser(), ExternalUser_MediaWiki\initFromName(), newFromName(), ApiQueryContributions\prepareUsername(), ApiQueryBlocks\prepareUsername(), and WebInstaller_Name\submit().

Here is the call graph for this function:

Here is the caller graph for this function:

Get the user's preferred date format.

Returns:
String User's preferred date format

Definition at line 2284 of file User.php.

References $wgLang, and getOption().

Referenced by getPageRenderingHash(), and Language\internalUserTimeAndDate().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::getDefaultOption ( opt) [static]

Get a given default option value.

Parameters:
$optString Name of option to retrieve
Returns:
String Default option value

Definition at line 1260 of file User.php.

References getDefaultOptions().

Referenced by Language\dateFormat(), CoreParserFunctions\gender(), GenderCache\getDefault(), getOption(), getOptions(), Linker\makeImageLink2(), and ImagePage\openShowImage().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::getDefaultOptions ( ) [static]

Combine the language default options with any site-specific options and add the default language variants.

Returns:
Array of String options

Definition at line 1230 of file User.php.

References $wgContLang, $wgDefaultSkin, $wgDefaultUserOptions, $wgNamespacesToBeSearchedDefault, SearchEngine\searchableNamespaces(), and wfRunHooks().

Referenced by decodeOptions(), getDefaultOption(), userOptions\getDefaultOptionsNames(), getOption(), Preferences\getPreferences(), userOptions\LISTER(), loadOptions(), resetOptions(), and userOptions\USAGER().

Here is the call graph for this function:

Here is the caller graph for this function:

Get the user's edit count.

Returns:
Int

Definition at line 2417 of file User.php.

References edits(), and getId().

Referenced by Autopromote\checkCondition(), loadFromDatabase(), and LogFormatter\makeUserLink().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Since:
1.19
Parameters:
$saltString|Array of Strings Optional function-specific data for hashing
$requestWebRequest object to use or null to use $wgRequest
Returns:
String The new edit token

Definition at line 3213 of file User.php.

References EDIT_TOKEN_SUFFIX, MWCryptRand\generateHex(), getRequest(), and isAnon().

Referenced by editToken(), WatchAction\getWatchToken(), matchEditToken(), and matchEditTokenNoSuffix().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Parameters:
$recacheBool Whether to avoid the cache
Returns:
Array of String internal group names

Definition at line 2346 of file User.php.

References getAutomaticGroups(), getGroups(), wfProfileIn(), wfProfileOut(), and wfRunHooks().

Referenced by addGroup(), changeableGroups(), getRights(), and removeGroup().

Here is the call graph for this function:

Here is the caller graph for this function:

Get the user's e-mail address.

Returns:
String User's email address

Definition at line 2114 of file User.php.

References load(), and wfRunHooks().

Referenced by Autopromote\checkCondition(), and Preferences\trySetUserEmail().

Here is the call graph for this function:

Here is the caller graph for this function:

Get the timestamp of the user's e-mail authentication.

Returns:
String TS_MW timestamp

Definition at line 2124 of file User.php.

References load(), and wfRunHooks().

Referenced by Autopromote\checkCondition(), and isEmailConfirmed().

Here is the call graph for this function:

Here is the caller graph for this function:

Get the timestamp of the first edit.

Returns:
String|Bool Timestamp of first edit, or false for non-existent/anonymous user accounts.

Definition at line 3518 of file User.php.

References $dbr, getId(), wfGetDB(), and wfTimestamp().

Referenced by Autopromote\checkCondition().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Returns:
array Names of the groups the user has belonged to.

Definition at line 2398 of file User.php.

References $dbr, $res, and wfGetDB().

Referenced by Autopromote\getAutopromoteOnceGroups().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::getGroupMember ( group,
username = '#' 
) [static]

Get the localized descriptive name for a member of a group, if it exists.

Parameters:
$groupString Internal group name
$usernameString Username for gender (since 1.19)
Returns:
String Localized name for group member

Definition at line 3596 of file User.php.

References wfMessage().

Referenced by UsersPager\buildGroupLink(), UserrightsPage\groupCheckboxes(), and Preferences\profilePreferences().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::getGroupName ( group) [static]

Get the localized descriptive name for a group, if it exists.

Parameters:
$groupString Internal group name
Returns:
String Localized descriptive group name

Definition at line 3584 of file User.php.

References wfMessage().

Referenced by UserrightsPage\buildGroupLink(), UsersPager\getAllGroups(), makeGroupLinkHTML(), makeGroupLinkWiki(), and Preferences\profilePreferences().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::getGroupPage ( group) [static]

Get the title of a page describing a particular group.

Parameters:
$groupString Internal group name
Returns:
Title|Bool Title of the page if it exists, false otherwise

Definition at line 3649 of file User.php.

References $title, Title\newFromText(), and wfMessage().

Referenced by makeGroupLinkHTML(), and makeGroupLinkWiki().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::getGroupPermissions ( groups) [static]

Get the permissions associated with a given list of groups.

Parameters:
$groupsArray of Strings List of internal group names
Returns:
Array of Strings List of permission key names for given groups combined

Definition at line 3540 of file User.php.

References $wgGroupPermissions, and $wgRevokePermissions.

Referenced by addGroup(), Autopromote\checkCondition(), ApiMain\checkExecutePermissions(), ApiQueryAllUsers\execute(), ApiQueryUsers\execute(), getRights(), AjaxDispatcher\performAction(), removeGroup(), ApiMain\setCacheMode(), UserTest\testGroupPermissions(), UserTest\testRevokePermissions(), and wfStreamThumb().

Here is the caller graph for this function:

Get the list of explicit group memberships this user has.

The implicit * and user groups are not included.

Returns:
Array of String internal group names

Definition at line 2333 of file User.php.

References load(), and loadGroups().

Referenced by addAutopromoteOnceGroups(), Autopromote\checkCondition(), Autopromote\getAutopromoteOnceGroups(), getEffectiveGroups(), and pingLimiter().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::getGroupsWithPermission ( role) [static]

Get all the groups who have a given permission.

Parameters:
$roleString Role to check
Returns:
Array of Strings List of internal group names with the given permission

Definition at line 3567 of file User.php.

References $wgGroupPermissions.

Referenced by PermissionsError\__construct(), ApiQueryAllUsers\execute(), NewFilesPager\getQueryInfo(), Title\missingPermissionError(), ApiMain\reallyMakeHelpMsg(), and UserTest\testGetGroupsWithPermission().

Here is the caller graph for this function:

static User::getImplicitGroups ( ) [static]

Get a list of implicit groups.

Returns:
Array of Strings Array of internal group names

Definition at line 3636 of file User.php.

References $wgImplicitGroups, and wfRunHooks().

Referenced by UsersPager\getGroups().

Here is the call graph for this function:

Here is the caller graph for this function:

User::getIntOption ( oname,
defaultOverride = 0 
)

Get the user's current setting for a given option, as a boolean value.

Parameters:
$onameString The option to check
$defaultOverrideInt A default value returned if the option does not exist
Returns:
Int User's current value for the option
See also:
getOption()

Definition at line 2246 of file User.php.

References getOption().

Here is the call graph for this function:

Return the talk page(s) this user has new messages on.

Returns:
Array of String page URLs

Definition at line 1797 of file User.php.

References getNewtalk(), getUserPage(), wfRunHooks(), and wfWikiID().

Here is the call graph for this function:

Check if the user has new messages.

Returns:
Bool True if the user has new messages

Definition at line 1764 of file User.php.

References $wgMemc, checkNewtalk(), getName(), load(), and wfMemcKey().

Referenced by getNewMessageLinks().

Here is the call graph for this function:

Here is the caller graph for this function:

User::getOption ( oname,
defaultOverride = null,
ignoreHidden = false 
)

Get the user's current setting for a given option.

Parameters:
$onameString The option to check
$defaultOverrideString A default value returned if the option does not exist
$ignoreHiddenBool = whether to ignore the effects of $wgHiddenPrefs
Returns:
String User's current value for the option
See also:
getBoolOption()
getIntOption()

Reimplemented in PPFuzzUser.

Definition at line 2175 of file User.php.

References $wgHiddenPrefs, getDefaultOption(), getDefaultOptions(), and loadOptions().

Referenced by canReceiveEmail(), getBoolOption(), getDatePreference(), getIntOption(), getPageRenderingHash(), getStubThreshold(), Language\internalUserTimeAndDate(), and setCookies().

Here is the call graph for this function:

Here is the caller graph for this function:

Get all user's options.

Returns:
array

Definition at line 2207 of file User.php.

References $options, $wgHiddenPrefs, getDefaultOption(), and loadOptions().

Here is the call graph for this function:

Generate a string which will be different for any combination of user options which would produce different parser output.

This will be used as part of the hash key for the parser cache, so users with the same options can share the same cached data safely.

Extensions which require it should install 'PageRenderingHash' hook, which will give them a chance to modify this key based on their own settings.

Deprecated:
since 1.17 use the ParserOptions object to get the relevant options
Returns:
String Page rendering hash

Definition at line 3018 of file User.php.

References $wgContLang, $wgLang, $wgRenderHashAppend, $wgUseDynamicDates, getDatePreference(), getOption(), getStubThreshold(), wfDeprecated(), and wfRunHooks().

Here is the call graph for this function:

User::getPasswordValidity ( password)

Given unvalidated password input, return error message on failure.

Parameters:
$passwordString Desired password
Returns:
mixed: true on success, string or array of error message on failure

Definition at line 671 of file User.php.

References $result, $wgContLang, $wgMinimalPasswordLength, getName(), and wfRunHooks().

Referenced by isValidPassword(), and setPassword().

Here is the call graph for this function:

Here is the caller graph for this function:

Get the user's real name.

Returns:
String User's real name

Definition at line 2148 of file User.php.

References isItemLoaded(), and load().

Referenced by CreditsAction\link(), RdfMetaData\person(), and CreditsAction\userLink().

Here is the call graph for this function:

Here is the caller graph for this function:

Get the timestamp of account creation.

Returns:
String|Bool Timestamp of account creation, or false for non-existent/anonymous user accounts.

Definition at line 3504 of file User.php.

References isAnon(), and load().

Referenced by Autopromote\checkCondition().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::getRightDescription ( right) [static]

Get the description of a given right.

Parameters:
$rightString Right to query
Returns:
String Localized description of the right

Definition at line 3859 of file User.php.

References wfMessage().

Referenced by SpecialListGroupRights\formatPermissions().

Here is the call graph for this function:

Here is the caller graph for this function:

Get the permissions this user has.

Returns:
Array of String permission names

Definition at line 2318 of file User.php.

References getEffectiveGroups(), getGroupPermissions(), and wfRunHooks().

Referenced by isAllowed().

Here is the call graph for this function:

Here is the caller graph for this function:

Get the current skin, loading it if required.

Returns:
Skin The current skin
Todo:
FIXME: Need to check the old failback system [AV]
Deprecated:
since 1.18 Use ->getSkin() in the most relevant outputting context you have

Definition at line 2592 of file User.php.

References RequestContext\getMain(), and wfDeprecated().

Here is the call graph for this function:

Get the user preferred stub threshold.

Returns:
int

Definition at line 2303 of file User.php.

References $wgMaxArticleSize, and getOption().

Referenced by getPageRenderingHash().

Here is the call graph for this function:

Here is the caller graph for this function:

Get this user's talk page title.

Returns:
Title: User's talk page title

Definition at line 3109 of file User.php.

References $title, and getUserPage().

Here is the call graph for this function:

Get the user's name escaped by underscores.

Returns:
String Username escaped by underscores.

Definition at line 1756 of file User.php.

References getName().

Referenced by WikiPage\doEditUpdates().

Here is the call graph for this function:

Here is the caller graph for this function:

User::getToken ( forceCreation = true)

Get the user's current token.

Parameters:
$forceCreationForce the generation of a new token if the user doesn't have one (default=true for backwards compatibility)
Returns:
String Token

Definition at line 2047 of file User.php.

References load(), and setToken().

Here is the call graph for this function:

User::getTokenUrl ( page,
token 
) [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.

Note:
Since these URLs get dropped directly into emails, using the short English names avoids insanely long URL-encoded links, which also sometimes can get corrupted in some browsers/mailers (bug 6957 with Gmail and Internet Explorer).
Parameters:
$pageString Special page
$tokenString Token
Returns:
String Formatted URL

Definition at line 3387 of file User.php.

References $title, and Title\makeTitle().

Referenced by confirmationTokenUrl(), and invalidationTokenUrl().

Here is the call graph for this function:

Here is the caller graph for this function:

Get the user touched timestamp.

Returns:
String timestamp

Definition at line 1971 of file User.php.

References load().

Here is the call graph for this function:

Get this user's personal page title.

Returns:
Title: User's personal page title

Definition at line 3100 of file User.php.

References getName(), and Title\makeTitle().

Referenced by addAutopromoteOnceGroups(), addNewUserLogEntry(), addNewUserLogEntryAutoCreate(), getNewMessageLinks(), getTalkPage(), CreditsAction\link(), RdfMetaData\person(), and saveSettings().

Here is the call graph for this function:

Here is the caller graph for this function:

If only this user's username is known, and it exists, return the user ID.

Returns:
Int

Definition at line 2879 of file User.php.

References $dbr, getName(), and wfGetDB().

Here is the call graph for this function:

static User::idFromName ( name) [static]

Get database id given a user name.

Parameters:
$nameString Username
Returns:
Int|Null The corresponding user's ID, or null if user is nonexistent

Definition at line 471 of file User.php.

References $dbr, $result, Title\makeTitleSafe(), and wfGetDB().

Referenced by LegacyTemplate\bottomLinks(), ApiQueryLogEvents\execute(), UsersPager\getQueryInfo(), LogPage\getTitleLink(), ContribsPager\getUserCond(), WikiRevision\importLogItem(), LogPager\limitPerformer(), load(), SpecialUnblock\processUnblock(), StandardTemplate\quickBar(), CologneBlueTemplate\quickBar(), and BlockTest\testBug29116LoadWithEmptyIp().

Here is the call graph for this function:

Here is the caller graph for this function:

Increment the user's edit-count field.

Will have no effect for anonymous users.

Definition at line 3813 of file User.php.

References $count, $dbr, getId(), invalidateCache(), isAnon(), and wfGetDB().

Here is the call graph for this function:

User::inDnsBlacklist ( ip,
bases 
)

Whether the given IP is in a given DNS blacklist.

Parameters:
$ipString IP to check
$basesString|Array of Strings: URL of the DNS blacklist
Returns:
Bool True if blacklisted.

Definition at line 1371 of file User.php.

References IP\isIPv4(), wfDebug(), wfProfileIn(), and wfProfileOut().

Referenced by isDnsBlacklisted().

Here is the call graph for this function:

Here is the caller graph for this function:

Immediately touch the user data cache for this account.

Updates user_touched field, and removes account data from memcached for reload on the next hit.

Definition at line 1938 of file User.php.

References clearSharedCache(), load(), newTouchedTimestamp(), wfGetDB(), and wfReadOnly().

Referenced by addGroup(), addWatch(), incEditCount(), removeGroup(), removeWatch(), and setNewtalk().

Here is the call graph for this function:

Here is the caller graph for this function:

Invalidate the user's e-mail confirmation, and unauthenticate the e-mail address if it was already confirmed.

Note:
Call saveSettings() after calling this function to commit the change.
Returns:
true

Definition at line 3413 of file User.php.

References load(), setEmailAuthenticationTimestamp(), and wfRunHooks().

Referenced by setEmail().

Here is the call graph for this function:

Here is the caller graph for this function:

User::invalidationTokenUrl ( token) [private]

Return a URL the user can use to invalidate their email address.

Parameters:
$tokenString Accepts the email confirmation token
Returns:
String New token URL

Definition at line 3369 of file User.php.

References getTokenUrl().

Referenced by sendConfirmationMail().

Here is the call graph for this function:

Here is the caller graph for this function:

User::isAllowed ( action = '')

Internal mechanics of testing a permission.

Parameters:
$actionString
Returns:
bool

Definition at line 2539 of file User.php.

References $wgUseNPPatrol, $wgUseRCPatrol, and getRights().

Referenced by canSendEmail(), changeableGroups(), SpecialBlock\checkUnblockSelf(), WikiPage\commitRollback(), WikiPage\doEditUpdates(), RecentChange\doMarkPatrolled(), WikiPage\doViewUpdates(), getBlockedStatus(), isAllowedAll(), isAllowedAny(), isAllowedToCreateAccount(), Title\isNamespaceProtected(), isNewbie(), isPingLimitable(), and SpecialPage\userCanExecute().

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2524 of file User.php.

References isAllowed().

Here is the call graph for this function:

Check if user is allowed to access a feature / make an action.

Definition at line 2509 of file User.php.

References isAllowed().

Referenced by WikiPage\commitRollback(), useNPPatrol(), and useRCPatrol().

Here is the call graph for this function:

Here is the caller graph for this function:

Get whether the user is allowed to create an account.

Returns:
Bool

Definition at line 3091 of file User.php.

References isAllowed(), and isBlockedFromCreateAccount().

Here is the call graph for this function:

Get whether the user is anonymous.

Returns:
Bool

Definition at line 2497 of file User.php.

References isLoggedIn().

Referenced by WatchAction\checkCanExecute(), clearNotification(), getBlockedStatus(), getEditToken(), getRegistration(), incEditCount(), isEmailConfirmed(), CreditsAction\link(), RdfMetaData\person(), saveToCache(), setNewtalk(), and CreditsAction\userLink().

Here is the call graph for this function:

Here is the caller graph for this function:

User::isBlocked ( bFromSlave = true)

Check if user is blocked.

Parameters:
$bFromSlaveBool Whether to check the slave database instead of the master
Returns:
Bool True if blocked, false otherwise

Definition at line 1566 of file User.php.

References getBlock().

Referenced by SpecialPasswordReset\canChangePassword(), Action\checkCanExecute(), Autopromote\checkCondition(), FormSpecialPage\checkExecutePermissions(), SpecialBlock\checkUnblockSelf(), SpecialContributions\getUserLinks(), isBlockedFrom(), and spreadAnyEditBlock().

Here is the call graph for this function:

Here is the caller graph for this function:

User::isBlockedFrom ( title,
bFromSlave = false 
)

Check if user is blocked from editing a particular article.

Parameters:
$titleTitle to check
$bFromSlaveBool whether to check the slave database instead of the master
Returns:
Bool

Definition at line 1588 of file User.php.

References $title, $wgBlockAllowsUTEdit, false, getName(), isBlocked(), wfDebug(), wfProfileIn(), wfProfileOut(), and wfRunHooks().

Here is the call graph for this function:

Get whether the user is explicitly blocked from account creation.

Returns:
Bool|Block

Definition at line 3061 of file User.php.

References getBlockedStatus(), getRequest(), Block\newFromTarget(), and Block\prevents().

Referenced by isAllowedToCreateAccount().

Here is the call graph for this function:

Here is the caller graph for this function:

Get whether the user is blocked from using Special:Emailuser.

Returns:
Bool

Definition at line 3082 of file User.php.

References getBlockedStatus().

Here is the call graph for this function:

User::isBlockedGlobally ( ip = '')

Check if user is blocked on all wikis.

Do not use for actual edit permission checks! This is intented for quick UI checks.

Parameters:
$ipString IP address, uses current client if none given
Returns:
Bool True if blocked, false otherwise

Definition at line 1642 of file User.php.

References getName(), getRequest(), IP\isIPAddress(), and wfRunHooks().

Here is the call graph for this function:

static User::isCreatableName ( name) [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 blacklisting may be added here rather than in isValidUserName() to avoid disrupting existing accounts.

Parameters:
$nameString to match
Returns:
Bool

Definition at line 630 of file User.php.

References $wgInvalidUsernameCharacters, isUsableName(), and wfDebugLog().

Referenced by getCanonicalName().

Here is the call graph for this function:

Here is the caller graph for this function:

User::isDnsBlacklisted ( ip,
checkWhitelist = false 
)

Whether the given IP is in a DNS blacklist.

Parameters:
$ipString IP to check
$checkWhitelistBool: whether to check the whitelist first
Returns:
Bool True if blacklisted.

Definition at line 1350 of file User.php.

References $urls, $wgDnsBlacklistUrls, $wgEnableDnsBlacklist, $wgEnableSorbs, $wgProxyWhitelist, $wgSorbsUrl, and inDnsBlacklist().

Referenced by getBlockedStatus().

Here is the call graph for this function:

Here is the caller graph for this function:

Check whether there is an outstanding request for e-mail confirmation.

Returns:
Bool

Definition at line 3490 of file User.php.

References $wgEmailAuthentication, isEmailConfirmed(), and wfTimestamp().

Here is the call graph for this function:

Is this user's e-mail address valid-looking and confirmed within limits of the current site configuration?

Note:
If $wgEmailAuthentication is on, this may require the user to have confirmed their address by returning a code or using a password sent to the address from the wiki.
Returns:
Bool

Definition at line 3466 of file User.php.

References $wgEmailAuthentication, getEmailAuthenticationTimestamp(), isAnon(), load(), Sanitizer\validateEmail(), and wfRunHooks().

Referenced by canReceiveEmail(), canSendEmail(), and isEmailConfirmationPending().

Here is the call graph for this function:

Here is the caller graph for this function:

Check if user account is hidden.

Returns:
Bool True if hidden, false otherwise

Definition at line 1678 of file User.php.

References $wgAuth, and getBlockedStatus().

Here is the call graph for this function:

static User::isIP ( name) [static]

Does the string match an anonymous IPv4 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 {1,3}\.{1,3}\.{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.

Parameters:
$nameString to match
Returns:
Bool

Definition at line 523 of file User.php.

References IP\isIPv6().

Referenced by LegacyTemplate\bottomLinks(), WikiPage\doEditUpdates(), RollbackEdits\execute(), getId(), SearchEngine\getNearMatchInternal(), ApiRollback\getRbUser(), Skin\getRelevantUser(), ReassignEdits\initialiseUser(), isValidUserName(), ApiQueryContributions\prepareUsername(), ApiQueryBlocks\prepareUsername(), StandardTemplate\quickBar(), EditPage\showIntro(), and Article\showMissingArticle().

Here is the call graph for this function:

Here is the caller graph for this function:

User::isItemLoaded ( item,
all = 'all' 
)

Return whether an item has been loaded.

Parameters:
$itemString: item to check. Current possibilities:
  • id
  • name
  • realname
$allString: '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)
Returns:
Boolean

Definition at line 901 of file User.php.

Referenced by getId(), getName(), and getRealName().

Here is the caller graph for this function:

static User::isLocallyBlockedProxy ( ip) [static]

Check if an IP address is in the local proxy list.

Parameters:
$ipstring
Returns:
bool

Definition at line 1418 of file User.php.

References $wgProxyList, wfProfileIn(), and wfProfileOut().

Here is the call graph for this function:

Check if user account is locked.

Returns:
Bool True if locked, false otherwise

Definition at line 1663 of file User.php.

References $wgAuth.

Get whether the user is logged in.

Returns:
Bool

Definition at line 2489 of file User.php.

Referenced by isAnon(), and spreadAnyEditBlock().

Here is the caller graph for this function:

Determine whether the user is a newbie.

Newbies are either anonymous IPs, or the most recently created accounts.

Returns:
Bool

Definition at line 3119 of file User.php.

References isAllowed().

Referenced by pingLimiter().

Here is the call graph for this function:

Here is the caller graph for this function:

Has password reminder email been sent within the last $wgPasswordReminderResendTime hours?

Returns:
Bool

Definition at line 2100 of file User.php.

References $wgPasswordReminderResendTime, load(), and wfTimestamp().

Here is the call graph for this function:

Is this user subject to rate limiting?

Returns:
Bool True if rate limited

Definition at line 1450 of file User.php.

References $wgRateLimitsExcludedIPs, getRequest(), and isAllowed().

Referenced by pingLimiter().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::isUsableName ( name) [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.

Parameters:
$nameString to match
Returns:
Bool

Definition at line 593 of file User.php.

References $wgReservedUsernames, wfMsgForContent(), and wfRunHooks().

Referenced by LoginForm\authenticateUserData(), getCanonicalName(), and isCreatableName().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::isValidEmailAddr ( addr) [static]

Does a string look like an e-mail address?

This validates an email address using an HTML5 specification found at: http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address Which as of 2011-01-24 says:

A valid e-mail address is a string that matches the ABNF production 1*( atext / "." ) "@" ldh-str *( "." ldh-str ) where atext is defined in RFC 5322 section 3.2.3, and ldh-str is defined in RFC 1034 section 3.5.

This function is an implementation of the specification as requested in bug 22449.

Client-side forms will use the same standard validation rules via JS or HTML 5 validation; additional restrictions can be enforced server-side by extensions via the 'isValidEmailAddr' hook.

Note that this validation doesn't 100% match RFC 2822, but is believed to be liberal enough for wide use. Some invalid addresses will still pass validation here.

Parameters:
$addrString E-mail address
Returns:
Bool
Deprecated:
since 1.18 call Sanitizer::isValidEmail() directly

Definition at line 732 of file User.php.

References Sanitizer\validateEmail(), and wfDeprecated().

Here is the call graph for this function:

User::isValidPassword ( password)

Is the input a valid password for this user?

Parameters:
$passwordString Desired password
Returns:
Bool

Definition at line 660 of file User.php.

References getPasswordValidity().

Referenced by checkPassword(), and setPassword().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::isValidUserName ( name) [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 containins slashes (would mess up subpages), is longer than the maximum allowed username size or doesn't begin with a capital letter.

Parameters:
$nameString to match
Returns:
Bool

Definition at line 538 of file User.php.

References $wgContLang, $wgMaxNameChars, isIP(), Title\newFromText(), and wfDebugLog().

Referenced by CheckUsernames\execute(), getCanonicalName(), and GenderCache\getGenderOf().

Here is the call graph for this function:

Here is the caller graph for this function:

User::isWatched ( title)

Check the watched status of an article.

Parameters:
$titleTitle of the article to look at
Returns:
Bool

Definition at line 2602 of file User.php.

References $title, and WatchedItem\fromUserTitle().

Referenced by clearNotification().

Here is the call graph for this function:

Here is the caller graph for this function:

User::loadDefaults ( name = false)

Set cached properties to default.

Note:
This no longer clears uncached lazy-initialised properties; the constructor does that instead.
Parameters:
$namestring

Definition at line 858 of file User.php.

References getRequest(), wfProfileIn(), wfProfileOut(), wfRunHooks(), and wfTimestamp().

Referenced by PPFuzzUser\load(), load(), loadFromDatabase(), loadFromId(), and loadFromSession().

Here is the call graph for this function:

Here is the caller graph for this function:

Load user and user_group data from the database.

$this->mId must be set, this is how the user is identified.

Returns:
Bool True if the user exists, false if the user is anonymous

Definition at line 1038 of file User.php.

References $dbr, getEditCount(), loadDefaults(), loadFromRow(), wfGetDB(), and wfRunHooks().

Referenced by loadFromId().

Here is the call graph for this function:

Here is the caller graph for this function:

Load user table data, given mId has already been set.

Returns:
Bool false if the ID does not exist, true otherwise

Definition at line 282 of file User.php.

References $wgMemc, loadDefaults(), loadFromDatabase(), saveToCache(), wfDebug(), and wfMemcKey().

Referenced by load().

Here is the call graph for this function:

Here is the caller graph for this function:

User::loadFromRow ( row)

Initialize this object from a row from the user table.

Parameters:
$rowArray Row from the user table to load.

Definition at line 1072 of file User.php.

References decodeOptions(), setItemLoaded(), wfTimestamp(), and wfTimestampOrNull().

Referenced by loadFromDatabase().

Here is the call graph for this function:

Here is the caller graph for this function:

User::loadFromSession ( ) [private]

Load user data from the session or login cookie.

If there are no valid credentials, initialises the user as an anonymous user.

Returns:
Bool True if the user is logged in, false otherwise.

Definition at line 922 of file User.php.

References $result, $wgAutocreatePolicy, $wgBlockDisablesLogin, $wgExternalAuthType, compareSecrets(), getRequest(), loadDefaults(), loadFromUserObject(), ExternalUser\newFromCookie(), newFromId(), wfDebug(), wfDebugLog(), and wfRunHooks().

Referenced by load().

Here is the call graph for this function:

Here is the caller graph for this function:

User::loadFromUserObject ( user) [protected]

Load the data for this user object from another user object.

Parameters:
$userUser

Definition at line 1137 of file User.php.

References $user.

Referenced by loadFromSession().

Here is the caller graph for this function:

User::loadGroups ( ) [private]

Load the groups from the database if they aren't already loaded.

Definition at line 1149 of file User.php.

References $dbr, $res, and wfGetDB().

Referenced by addGroup(), getGroups(), removeGroup(), and saveToCache().

Here is the call graph for this function:

Here is the caller graph for this function:

User::loadOptions ( ) [protected]
Todo:
document

Definition at line 3994 of file User.php.

References $dbr, $res, getDefaultOptions(), getId(), load(), wfDebug(), wfGetDB(), and wfRunHooks().

Referenced by getOption(), getOptions(), saveOptions(), saveToCache(), and setOption().

Here is the call graph for this function:

Here is the caller graph for this function:

Log this user out.

Definition at line 2811 of file User.php.

References doLogout(), and wfRunHooks().

Here is the call graph for this function:

static User::makeGroupLinkHTML ( group,
text = '' 
) [static]

Create a link to the group in HTML, if available; else return the group name.

Parameters:
$groupString Internal name of the group
$textString The text of the link
Returns:
String HTML link to the group

Definition at line 3667 of file User.php.

References $title, getGroupName(), getGroupPage(), and Linker\link().

Referenced by Preferences\profilePreferences().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::makeGroupLinkWiki ( group,
text = '' 
) [static]

Create a link to the group in Wikitext, if available; else return the group name.

Parameters:
$groupString Internal name of the group
$textString The text of the link
Returns:
String Wikilink to the group

Definition at line 3687 of file User.php.

References $page, $title, getGroupName(), and getGroupPage().

Here is the call graph for this function:

User::matchEditToken ( val,
salt = '',
request = 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.

Parameters:
$valString Input value to compare
$saltString Optional function-specific data for hashing
$requestWebRequest object to use or null to use $wgRequest
Returns:
Boolean: Whether the token matches

Definition at line 3254 of file User.php.

References getEditToken(), and wfDebug().

Referenced by WikiPage\doRollback().

Here is the call graph for this function:

Here is the caller graph for this function:

User::matchEditTokenNoSuffix ( val,
salt = '',
request = null 
)

Check given value against the token value stored in the session, ignoring the suffix.

Parameters:
$valString Input value to compare
$saltString Optional function-specific data for hashing
$requestWebRequest object to use or null to use $wgRequest
Returns:
Boolean: Whether the token matches

Definition at line 3271 of file User.php.

References getEditToken().

Here is the call graph for this function:

static User::newFromConfirmationCode ( code) [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.

Parameters:
$codeString Confirmation code
Returns:
User object, or null

Definition at line 396 of file User.php.

References $dbr, newFromId(), and wfGetDB().

Referenced by EmailConfirmation\attemptConfirm(), and EmailInvalidation\attemptInvalidate().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::newFromName ( name,
validate = 'valid' 
) [static]

Static factory method for creation from username.

This is slightly less efficient than newFromId(), so use newFromId() if you have both an ID and a name handy.

Parameters:
$nameString Username, validated by Title::newFromText()
$validateString|Bool Validate username. Takes the same parameters as User::getCanonicalName(), except that true is accepted as an alias for 'valid', for BC.
Returns:
User object, or false if the username is invalid (e.g. if it contains illegal characters or is an IP address). If the username is not present in the database, the result will be a user object with a name, zero user ID and default settings.

Definition at line 355 of file User.php.

References getCanonicalName(), and setItemLoaded().

Referenced by ApiTestUser\__construct(), UserWrapper\__construct(), EmailNotification\actuallyNotifyOnPageChange(), MediaWikiTestCase\addCoreDBData(), ApiBlockTest\addDBData(), BlockTest\addDBData(), LoginForm\addNewAccountInternal(), SpecialChangePassword\attemptReset(), LoginForm\authenticateUserData(), EmailNotification\canSendUserTalkEmail(), SpecialBlock\checkUnblockSelf(), Installer\createMainpage(), Installer\createSysop(), WikiPage\doEditUpdates(), ImportSiteScripts\execute(), DeleteDefaultMessages\execute(), CleanupSpam\execute(), SpecialBlockme\execute(), Undelete\execute(), RollbackEdits\execute(), ApiQueryAllUsers\execute(), Protect\execute(), ChangePassword\execute(), CreateAndPromote\execute(), EditCLI\execute(), SpecialContributions\execute(), CapsCleanup\execute(), TableCleanup\execute(), DeleteBatch\execute(), MoveBatch\execute(), SpecialLog\execute(), DeletedContributionsPage\execute(), UserrightsPage\fetchUser(), CoreParserFunctions\gender(), CreditsAction\getAuthor(), LogEventsList\getExtraInputs(), NewUsersLogFormatter\getMessageParameters(), ResourceLoaderUserGroupsModule\getPages(), DatabaseLogEntry\getPerformer(), RCDatabaseLogEntry\getPerformer(), Skin\getRelevantUser(), SpecialEmailUser\getTarget(), DoubleRedirectJob\getUser(), ApiBase\getWatchlistUser(), WikiRevision\importOldRevision(), WikiRevision\importUpload(), ReassignEdits\initialiseUser(), SearchEngineTest\insertPage(), RequestContext\newExtraneousContext(), WikiPage\onArticleDelete(), SpecialPasswordReset\onSubmit(), Block\parseTarget(), PatrolLog\record(), EnotifNotifyJob\run(), UploadFromUrlJob\run(), RecentChange\save(), TitlePermissionTest\setUp(), SpecialLog\show(), EditPage\showIntro(), Article\showMissingArticle(), WebInstaller_Name\submit(), ApiBlockTest\testMakeNormalBlock(), and PageArchive\undeleteRevisions().

Here is the call graph for this function:

static User::newFromRow ( row) [static]

Create a new user object from a user row.

The row should have the following fields from the user table in it:

  • either user_name or user_id to load further data if needed (or both)
  • user_real_name
  • all other fields (email, password, etc.) It is useless to provide the remaining fields if either user_id, user_name and user_real_name are not provided because the whole row will be loaded once more from the database when accessing them.
Parameters:
$rowArray A row from the user table
Returns:
User

Definition at line 437 of file User.php.

References $user.

Referenced by ConvertUserOptions\convertOptionBatch(), ApiQueryUsers\execute(), SpecialPasswordReset\onSubmit(), and UserArrayFromResult\setCurrent().

Here is the caller graph for this function:

static User::newFromSession ( WebRequest request = null) [static]

Create a new user object using data from session or cookies.

If the login credentials are invalid, the result is an anonymous user.

Parameters:
$requestWebRequest object to use; $wgRequest will be used if ommited.
Returns:
User object

Definition at line 417 of file User.php.

References $user.

Referenced by RequestContext\getUser().

Here is the caller graph for this function:

static User::newTouchedTimestamp ( ) [static, private]

Generate a current or new-future timestamp to be stored in the user_touched field when we update things.

Returns:
String Timestamp in TS_MW format

Definition at line 1913 of file User.php.

References $wgClockSkewFudge, and wfTimestamp().

Referenced by invalidateCache(), and saveSettings().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::oldCrypt ( password,
userId 
) [static]

Make an old-style password hash.

Parameters:
$passwordString Plain-text password
$userIdString User ID
Returns:
String Password hash

Definition at line 3872 of file User.php.

References $wgPasswordSalt.

Referenced by comparePasswords().

Here is the caller graph for this function:

static User::passwordChangeInputAttribs ( ) [static]

Provide an array of HTML5 attributes to put on an input element intended for the user to enter a new password.

This may include required, title, and/or pattern, depending on $wgMinimalPasswordLength.

Do *not* use this when asking the user to enter his current password! Regardless of configuration, users may have invalid passwords for whatever reason (e.g., they were set before requirements were tightened up). Only use it when asking for a new password, like on account creation or ResetPass.

Obviously, you still need to do server-side checking.

NOTE: A combination of bugs in various browsers means that this function actually just returns array() unconditionally at the moment. May as well keep it around for when the browser bugs get fixed, though.

Todo:
FIXME: This does not belong here; put it in Html or Linker or somewhere
Returns:
array Array of HTML attributes suitable for feeding to Html::element(), directly or indirectly. (Don't feed to Xml::*()! That will potentially output invalid XHTML 1.0 Transitional, and will get confused by the boolean attribute syntax used.)

Definition at line 4103 of file User.php.

References $wgMinimalPasswordLength.

Referenced by UsercreateTemplate\execute(), and SpecialChangePassword\pretty().

Here is the caller graph for this function:

User::pingLimiter ( action = 'edit')

Primitive rate limits: enforce maximum actions per time period to put a brake on flooding.

Note:
When using a shared cache like memcached, IP-address last-hit counters will be shared across wikis.
Parameters:
$actionString Action to enforce; 'edit' if unspecified
Returns:
Bool True if a rate limiter was tripped

Definition at line 1471 of file User.php.

References $count, $keys, $limit, $matches, $result, $wgMemc, $wgRateLimitLog, $wgRateLimits, getGroups(), getId(), getName(), getRequest(), isNewbie(), isPingLimitable(), wfDebug(), wfMemcKey(), wfProfileIn(), wfProfileOut(), wfRestoreWarnings(), wfRunHooks(), wfSuppressWarnings(), wfTimestamp(), and wfWikiID().

Referenced by WikiPage\doRollback().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::randomPassword ( ) [static]

Return a random password.

Returns:
String new random password

Definition at line 838 of file User.php.

References $wgMinimalPasswordLength, MWCryptRand\generateHex(), and wfBaseConvert().

Referenced by ApiTestUser\__construct().

Here is the call graph for this function:

Here is the caller graph for this function:

User::removeGroup ( group)

Remove the user from the given group.

This takes immediate effect.

Parameters:
$groupString Name of the group to remove

Definition at line 2460 of file User.php.

References getEffectiveGroups(), getGroupPermissions(), invalidateCache(), load(), loadGroups(), wfGetDB(), and wfRunHooks().

Here is the call graph for this function:

User::removeWatch ( title)

Stop watching an article.

Parameters:
$titleTitle of the article to look at

Definition at line 2621 of file User.php.

References $title, WatchedItem\fromUserTitle(), and invalidateCache().

Referenced by WatchAction\doUnwatch().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::resetIdByNameCache ( ) [static]

Reset the cache used in idFromName().

For use in tests.

Definition at line 503 of file User.php.

Referenced by MediaWikiTestCase\addCoreDBData().

Here is the caller graph for this function:

Reset all options to the site defaults.

Definition at line 2276 of file User.php.

References getDefaultOptions().

Here is the call graph for this function:

User::saveOptions ( ) [protected]
Todo:
document

Definition at line 4034 of file User.php.

References $wgAllowPrefChange, getId(), loadOptions(), ExternalUser\newFromUser(), wfGetDB(), and wfRunHooks().

Referenced by addToDatabase(), and saveSettings().

Here is the call graph for this function:

Here is the caller graph for this function:

Save this user's settings into the database.

Todo:
Only rarely do all these fields need to be set!

Definition at line 2837 of file User.php.

References $wgAuth, clearSharedCache(), getUserPage(), load(), newTouchedTimestamp(), saveOptions(), wfGetDB(), wfReadOnly(), and wfRunHooks().

Referenced by SpecialChangeEmail\attemptChange(), sendConfirmationMail(), and setCookies().

Here is the call graph for this function:

Here is the caller graph for this function:

Save user data to the shared cache.

Definition at line 318 of file User.php.

References $wgMemc, isAnon(), load(), loadGroups(), loadOptions(), MW_USER_VERSION, and wfMemcKey().

Referenced by loadFromId().

Here is the call graph for this function:

Here is the caller graph for this function:

User::sendConfirmationMail ( type = 'created')

Generate a new e-mail confirmation token and send a confirmation/invalidation mail to the user's given address.

Parameters:
$typeString: message to send, either "created", "changed" or "set"
Returns:
Status object

Definition at line 3283 of file User.php.

References $url, $wgLang, confirmationToken(), confirmationTokenUrl(), getName(), getRequest(), invalidationTokenUrl(), saveSettings(), sendMail(), and wfMsg().

Referenced by Preferences\trySetUserEmail().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Parameters:
$subjectString Message subject
$bodyString Message body
$fromString Optional From address; if unspecified, default $wgPasswordSender will be used
$replytoString Reply-To address
Returns:
Status

Definition at line 3320 of file User.php.

References $wgPasswordSender, $wgPasswordSenderName, and UserMailer\send().

Referenced by sendConfirmationMail().

Here is the call graph for this function:

Here is the caller graph for this function:

User::setCookie ( name,
value,
exp = 0 
) [protected]

Set a cookie on the user's client.

Wrapper for WebResponse::setCookie

Parameters:
$nameString Name of the cookie to set
$valueString Value to set
$expInt Expiration time, as a UNIX time value; if 0 or not specified, use the default $wgCookieExpiration

Definition at line 2746 of file User.php.

References getRequest().

Referenced by clearCookie(), doLogout(), and setCookies().

Here is the call graph for this function:

Here is the caller graph for this function:

User::setCookiePassword ( str) [private]

Set the cookie password.

Parameters:
$strString New cookie password

Definition at line 2076 of file User.php.

References load().

Here is the call graph for this function:

User::setCookies ( request = null)

Set the default cookies for this session on the user's client.

Parameters:
$requestWebRequest object to use; $wgRequest will be used if null is passed.

Definition at line 2764 of file User.php.

References clearCookie(), getName(), getOption(), getRequest(), load(), saveSettings(), setCookie(), setToken(), and wfRunHooks().

Here is the call graph for this function:

User::setEmail ( str)

Set the user's e-mail address.

Parameters:
$strString New e-mail address

Definition at line 2134 of file User.php.

References invalidateEmail(), load(), and wfRunHooks().

Referenced by Preferences\trySetUserEmail().

Here is the call graph for this function:

Here is the caller graph for this function:

Set the e-mail authentication timestamp.

Parameters:
$timestampString TS_MW timestamp

Definition at line 3426 of file User.php.

References load(), and wfRunHooks().

Referenced by confirmEmail(), and invalidateEmail().

Here is the call graph for this function:

Here is the caller graph for this function:

User::setId ( v)

Set the user and reload all fields according to a given ID.

Parameters:
$vInt User ID to reload

Definition at line 1711 of file User.php.

References clearInstanceCache().

Here is the call graph for this function:

Set the password and reset the random token unconditionally.

Parameters:
$strString New password to set

Definition at line 2028 of file User.php.

References crypt(), load(), and setToken().

Referenced by setPassword().

Here is the call graph for this function:

Here is the caller graph for this function:

User::setItemLoaded ( item) [private]

Set that an item has been loaded.

Parameters:
$itemString

Definition at line 911 of file User.php.

Referenced by loadFromRow(), newFromId(), and newFromName().

Here is the caller graph for this function:

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.

Note:
User::newFromName() has rougly the same function, when the named user does not exist.
Parameters:
$strString New user name to set

Definition at line 1747 of file User.php.

References load().

Here is the call graph for this function:

User::setNewpassword ( str,
throttle = true 
)

Set the password for a password reminder or new account email.

Parameters:
$strString New password to set
$throttleBool If true, reset the throttle timestamp to the present

Definition at line 2087 of file User.php.

References crypt(), load(), and wfTimestampNow().

Here is the call graph for this function:

User::setNewtalk ( val)

Update the 'You have new messages!' status.

Parameters:
$valBool Whether the user has new messages

Definition at line 1874 of file User.php.

References $changed, $wgMemc, deleteNewtalk(), getId(), getName(), invalidateCache(), isAnon(), load(), updateNewtalk(), wfMemcKey(), and wfReadOnly().

Referenced by clearAllNotifications(), clearNotification(), and WikiPage\onArticleDelete().

Here is the call graph for this function:

Here is the caller graph for this function:

User::setOption ( oname,
val 
)

Set the given option for a user.

Parameters:
$onameString The option to set
$valmixed New value to set

Definition at line 2260 of file User.php.

References $wgDefaultUserOptions, load(), and loadOptions().

Here is the call graph for this function:

User::setPassword ( str)

Set the password and reset the random token.

Calls through to authentication plugin if necessary; will have no effect if the auth plugin refuses to pass the change through or if the legal password checks fail.

As a special case, setting the password to null wipes it, so the account cannot be logged in until a new password is set, for instance via e-mail.

Parameters:
$strString New password to set
Exceptions:
PasswordErroron failure
Returns:
bool

Definition at line 1992 of file User.php.

References $wgAuth, $wgMinimalPasswordLength, getPasswordValidity(), isValidPassword(), setInternalPassword(), wfMsg(), and wfMsgExt().

Here is the call graph for this function:

User::setRealName ( str)

Set the user's real name.

Parameters:
$strString New real name

Definition at line 2160 of file User.php.

References load().

Here is the call graph for this function:

User::setToken ( token = false)

Set the random token (used for persistent authentication) Called from loadDefaults() among other places.

Parameters:
$tokenString|bool If specified, set the token to this value

Definition at line 2061 of file User.php.

References $wgProxyKey, $wgSecretKey, MWCryptRand\generateHex(), and load().

Referenced by getToken(), setCookies(), and setInternalPassword().

Here is the call graph for this function:

Here is the caller graph for this function:

If this user is logged-in and blocked, block any IP address they've successfully logged in from.

Returns:
bool A block was spread

Definition at line 2977 of file User.php.

References isBlocked(), isLoggedIn(), and spreadBlock().

Here is the call graph for this function:

User::spreadBlock ( ) [protected]

If this (non-anonymous) user is blocked, block the IP address they've successfully logged in from.

Returns:
bool A block was spread

Definition at line 2989 of file User.php.

References getName(), getRequest(), load(), Block\newFromTarget(), and wfDebug().

Referenced by spreadAnyEditBlock().

Here is the call graph for this function:

Here is the caller graph for this function:

User::updateNewtalk ( field,
id 
) [protected]

Add or update the new messages flag.

Parameters:
$fieldString 'user_ip' for anonymous users, 'user_id' otherwise
$idString|Int User's IP address for anonymous users, User ID otherwise
Returns:
Bool True if successful, false otherwise

Definition at line 1835 of file User.php.

References wfDebug(), and wfGetDB().

Referenced by setNewtalk().

Here is the call graph for this function:

Here is the caller graph for this function:

Check whether to enable new pages patrol features for this user.

Returns:
Bool True or false

Definition at line 2567 of file User.php.

References $wgUseNPPatrol, $wgUseRCPatrol, and isAllowedAny().

Here is the call graph for this function:

Check whether to enable recent changes patrol features for this user.

Returns:
Boolean: True or false

Definition at line 2558 of file User.php.

References $wgUseRCPatrol, and isAllowedAny().

Here is the call graph for this function:

User::validateCache ( timestamp)

Validate the cache for this account.

Parameters:
$timestampString A timestamp in TS_MW format
Returns:
bool

Definition at line 1962 of file User.php.

References load().

Here is the call graph for this function:

static User::whoIs ( id) [static]

Get the username corresponding to a given user ID.

Parameters:
$idInt User ID
Returns:
String|false The corresponding username

Definition at line 450 of file User.php.

References $dbr, and wfGetDB().

Referenced by Title\checkActionPermissions(), Title\checkUserBlock(), UserrightsPage\fetchUser(), ApiQueryUserInfo\getCurrentUserInfo(), Revision\getRawUserText(), Block\load(), and Block\newFromDB().

Here is the call graph for this function:

Here is the caller graph for this function:

static User::whoIsReal ( id) [static]

Get the real name of a user given their user ID.

Parameters:
$idInt User ID
Returns:
String|false The corresponding user's real name

Definition at line 461 of file User.php.

References $dbr, and wfGetDB().

Here is the call graph for this function:


Member Data Documentation

User::$idCacheByName = array() [static]

Definition at line 217 of file User.php.

User::$mAllowUsertalk

Definition at line 166 of file User.php.

User::$mAllRights = false [static]

String Cached results of getAllRights()

Definition at line 162 of file User.php.

Referenced by getAllRights().

User::$mBlock

Definition at line 210 of file User.php.

User::$mBlockedby

Definition at line 198 of file User.php.

User::$mBlockedFromCreateAccount = false [private]

Definition at line 215 of file User.php.

User::$mBlockedGlobally

Definition at line 198 of file User.php.

User::$mBlockreason

Definition at line 198 of file User.php.

User::$mCacheVars [static]
Initial value:
 array(
                
                'mId',
                'mName',
                'mRealName',
                'mPassword',
                'mNewpassword',
                'mNewpassTime',
                'mEmail',
                'mTouched',
                'mToken',
                'mEmailAuthenticated',
                'mEmailToken',
                'mEmailTokenExpires',
                'mRegistration',
                'mEditCount',
                
                'mGroups',
                
                'mOptionOverrides',
        )

Array of Strings 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.

Definition at line 74 of file User.php.

User::$mCookiePassword

Definition at line 166 of file User.php.

User::$mCoreRights [static]
Initial value:
 array(
                'apihighlimits',
                'autoconfirmed',
                'autopatrol',
                'bigdelete',
                'block',
                'blockemail',
                'bot',
                'browsearchive',
                'createaccount',
                'createpage',
                'createtalk',
                'delete',
                'deletedhistory',
                'deletedtext',
                'deleterevision',
                'edit',
                'editinterface',
                'editusercssjs', #deprecated
                'editusercss',
                'edituserjs',
                'hideuser',
                'import',
                'importupload',
                'ipblock-exempt',
                'markbotedits',
                'mergehistory',
                'minoredit',
                'move',
                'movefile',
                'move-rootuserpages',
                'move-subpages',
                'nominornewtalk',
                'noratelimit',
                'override-export-depth',
                'patrol',
                'protect',
                'proxyunbannable',
                'purge',
                'read',
                'reupload',
                'reupload-shared',
                'rollback',
                'sendemail',
                'siteadmin',
                'suppressionlog',
                'suppressredirect',
                'suppressrevision',
                'unblockself',
                'undelete',
                'unwatchedpages',
                'upload',
                'upload_by_url',
                'userrights',
                'userrights-interwiki',
                'writeapi',
        )

Array of Strings Core rights.

Each of these should have a corresponding message of the form "right-$right".

Definition at line 102 of file User.php.

Referenced by getAllRights().

User::$mDatePreference

Definition at line 198 of file User.php.

User::$mEditCount

Definition at line 166 of file User.php.

User::$mEffectiveGroups

Definition at line 198 of file User.php.

User::$mEmail

Definition at line 166 of file User.php.

User::$mEmailAuthenticated

Definition at line 166 of file User.php.

User::$mEmailToken

Definition at line 166 of file User.php.

User::$mEmailTokenExpires

Definition at line 166 of file User.php.

User::$mFormerGroups

Definition at line 198 of file User.php.

User::$mFrom

String Initialization data source if mLoadedItems!==true.

May be one of:

  • 'defaults' anonymous user initialised from class defaults
  • 'name' initialise from mName
  • 'id' initialise from mId
  • 'session' log in from cookies or session if possible

Use the User::newFrom*() family of functions to set this.

Definition at line 193 of file User.php.

User::$mGroups

Definition at line 166 of file User.php.

User::$mHash

Definition at line 198 of file User.php.

User::$mHideName

Definition at line 198 of file User.php.

User::$mId

Definition at line 166 of file User.php.

User::$mImplicitGroups

Definition at line 198 of file User.php.

User::$mLoadedItems = array() [private]

Array with already loaded items or true if all items have been loaded.

Definition at line 181 of file User.php.

User::$mLocked

Definition at line 198 of file User.php.

User::$mName

Definition at line 166 of file User.php.

User::$mNewpassTime

Definition at line 166 of file User.php.

User::$mNewpassword

Definition at line 166 of file User.php.

User::$mNewtalk

Lazy-initialized variables, invalidated with clearInstanceCache.

Definition at line 198 of file User.php.

User::$mOptionOverrides

Definition at line 166 of file User.php.

User::$mOptions

Definition at line 198 of file User.php.

User::$mOptionsLoaded

Bool Whether the cache variables have been loaded.

Definition at line 176 of file User.php.

User::$mPassword

Definition at line 166 of file User.php.

User::$mRealName

Definition at line 166 of file User.php.

User::$mRegistration

Definition at line 166 of file User.php.

User::$mRequest [private]

Definition at line 205 of file User.php.

User::$mRights

Definition at line 198 of file User.php.

User::$mToken

Definition at line 166 of file User.php.

User::$mTouched

Definition at line 166 of file User.php.

Definition at line 66 of file User.php.

Referenced by getEditToken().

Definition at line 65 of file User.php.

Referenced by saveToCache().

Global constants made accessible as class constants so that autoloader magic can be used.

Definition at line 64 of file User.php.


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