MediaWiki master
MediaWiki\User\CentralId\LocalIdLookup Class Reference

A CentralIdLookup provider that just uses local IDs. More...

Inherits MediaWiki\User\CentralId\CentralIdLookup.

Collaboration diagram for MediaWiki\User\CentralId\LocalIdLookup:

Public Member Functions

 __construct (Config $config, IConnectionProvider $dbProvider, HideUserUtils $hideUserUtils)
 
 isAttached (UserIdentity $user, $wikiId=UserIdentity::LOCAL)
 Check that a user is attached on the specified wiki.
 
 lookupCentralIds (array $idToName, $audience=self::AUDIENCE_PUBLIC, $flags=IDBAccessObject::READ_NORMAL)
 Given central user IDs, return the (local) user names.
 
 lookupUserNamesWithFilter (array $nameToId, $filter, $audience=self::AUDIENCE_PUBLIC, $flags=IDBAccessObject::READ_NORMAL, $wikiId=UserIdentity::LOCAL)
 Given user names on the wiki specified by $wikiId, return the central IDs.
 
- Public Member Functions inherited from MediaWiki\User\CentralId\CentralIdLookup
 centralIdFromLocalUser (UserIdentity $user, $audience=self::AUDIENCE_PUBLIC, $flags=IDBAccessObject::READ_NORMAL)
 Given a local UserIdentity object, return the central ID.
 
 centralIdFromName ( $name, $audience=self::AUDIENCE_PUBLIC, $flags=IDBAccessObject::READ_NORMAL)
 Given a (local) user name, return the central ID.
 
 centralIdsFromNames (array $names, $audience=self::AUDIENCE_PUBLIC, $flags=IDBAccessObject::READ_NORMAL)
 Given an array of (local) user names, return the central IDs.
 
 getProviderId ()
 
 init (string $providerId, UserIdentityLookup $userIdentityLookup, UserFactory $userFactory)
 Initialize the provider.
 
 isOwned (UserIdentity $user, $wikiId=UserIdentity::LOCAL)
 Check that a username is owned by the central user on the specified wiki.
 
 localUserFromCentralId ( $id, $audience=self::AUDIENCE_PUBLIC, $flags=IDBAccessObject::READ_NORMAL)
 Given a central user ID, return a local user object.
 
 lookupAttachedUserNames (array $nameToId, $audience=self::AUDIENCE_PUBLIC, $flags=IDBAccessObject::READ_NORMAL, $wikiId=UserIdentity::LOCAL)
 Given user names on the wiki specified by $wikiId, return the central IDs, but only include IDs for local users attached to the central user, i.e.
 
 lookupOwnedUserNames (array $nameToId, $audience=self::AUDIENCE_PUBLIC, $flags=IDBAccessObject::READ_NORMAL, $wikiId=UserIdentity::LOCAL)
 Given user names on the wiki specified by $wikiId, return the central IDs, but only include IDs for local users owned by the central user, i.e.
 
 lookupUserNames (array $nameToId, $audience=self::AUDIENCE_PUBLIC, $flags=IDBAccessObject::READ_NORMAL)
 Given (local) user names, return the central IDs.
 
 nameFromCentralId ( $id, $audience=self::AUDIENCE_PUBLIC, $flags=IDBAccessObject::READ_NORMAL)
 Given a central user ID, return the (local) user name.
 
 namesFromCentralIds (array $ids, $audience=self::AUDIENCE_PUBLIC, $flags=IDBAccessObject::READ_NORMAL)
 Given a an array of central user IDs, return the (local) user names.
 

Additional Inherited Members

- Static Public Member Functions inherited from MediaWiki\User\CentralId\CentralIdLookup
static factory ( $providerId=null)
 Fetch a CentralIdLookup.
 
- Public Attributes inherited from MediaWiki\User\CentralId\CentralIdLookup
const AUDIENCE_PUBLIC = 1
 
const AUDIENCE_RAW = 2
 
const FILTER_ATTACHED = 'attached'
 
const FILTER_NONE = 'none'
 
const FILTER_OWNED = 'owned'
 
- Protected Member Functions inherited from MediaWiki\User\CentralId\CentralIdLookup
 checkAudience ( $audience)
 Check that the "audience" parameter is valid.
 

Detailed Description

A CentralIdLookup provider that just uses local IDs.

Useful if the wiki isn't part of a cluster or you're using shared user tables.

Note
Shared user table support expects that all wikis involved have $wgSharedDB and $wgSharedTables set, and that all wikis involved in the sharing are listed in $wgLocalDatabases, and that no wikis not involved in the sharing are listed in $wgLocalDatabases.
Since
1.27

Definition at line 42 of file LocalIdLookup.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\User\CentralId\LocalIdLookup::__construct ( Config $config,
IConnectionProvider $dbProvider,
HideUserUtils $hideUserUtils )
Parameters
Config$config
IConnectionProvider$dbProvider
HideUserUtils$hideUserUtils

Definition at line 61 of file LocalIdLookup.php.

References MediaWiki\Config\Config\get(), MediaWiki\MainConfigNames\LocalDatabases, MediaWiki\MainConfigNames\SharedDB, and MediaWiki\MainConfigNames\SharedTables.

Member Function Documentation

◆ isAttached()

MediaWiki\User\CentralId\LocalIdLookup::isAttached ( UserIdentity $user,
$wikiId = UserIdentity::LOCAL )

Check that a user is attached on the specified wiki.

If unattached local accounts don't exist in your extension, this comes down to a check whether the central account exists at all and that $wikiId is using the same central database.

Parameters
UserIdentity$user
string | false$wikiIdWiki to check attachment status. If false, check the current wiki.
Returns
bool

Reimplemented from MediaWiki\User\CentralId\CentralIdLookup.

Definition at line 73 of file LocalIdLookup.php.

◆ lookupCentralIds()

MediaWiki\User\CentralId\LocalIdLookup::lookupCentralIds ( array $idToName,
$audience = self::AUDIENCE_PUBLIC,
$flags = IDBAccessObject::READ_NORMAL )

Given central user IDs, return the (local) user names.

Note
There's no requirement that the user names actually exist locally, or if they do that they're actually attached to the central account.
Parameters
array$idToNameArray with keys being central user IDs
int | Authority$audienceOne of the audience constants, or a specific authority
int$flagsIDBAccessObject read flags
Returns
string[] Copy of $idToName with values set to user names (or empty-string if the user exists but $audience lacks the rights needed to see it). IDs not corresponding to a user are unchanged.

Reimplemented from MediaWiki\User\CentralId\CentralIdLookup.

Definition at line 101 of file LocalIdLookup.php.

◆ lookupUserNamesWithFilter()

MediaWiki\User\CentralId\LocalIdLookup::lookupUserNamesWithFilter ( array $nameToId,
$filter,
$audience = self::AUDIENCE_PUBLIC,
$flags = IDBAccessObject::READ_NORMAL,
$wikiId = UserIdentity::LOCAL )

Given user names on the wiki specified by $wikiId, return the central IDs.

If $filter is not FILTER_NONE, filter the users by owned or attached status.

Since
1.44
Parameters
array$nameToIdArray with keys being canonicalized user names
string$filterOne of:
  • self::FILTER_NONE: Get all users with the specified names
  • self::FILTER_ATTACHED: Only get IDs for attached users
  • self::FILTER_OWNED: Only get IDs for owned users
int | Authority$audienceOne of the audience constants, or a specific authority
int$flagsIDBAccessObject read flags
string | false$wikiIdWiki to check attachment status. If false, check the current wiki.
Returns
int[] Copy of $nameToId with values set to central IDs. Names not owned by the central user are unchanged.

Reimplemented from MediaWiki\User\CentralId\CentralIdLookup.

Definition at line 128 of file LocalIdLookup.php.


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