MediaWiki REL1_33
|
Represents a "user group membership" – a specific instance of a user belonging to a group. More...
Public Member Functions | |
__construct ( $userId=0, $group=null, $expiry=null) | |
delete (IDatabase $dbw=null) | |
Delete the row from the user_groups table. | |
getExpiry () | |
getGroup () | |
getUserId () | |
insert ( $allowUpdate=false, IDatabase $dbw=null) | |
Insert a user right membership into the database. | |
isExpired () | |
Has the membership expired? | |
Static Public Member Functions | |
static | getGroupMemberName ( $group, $username) |
Gets the localized name for a member of a group, if it exists. | |
static | getGroupName ( $group) |
Gets the localized friendly name for a group, if it exists. | |
static | getGroupPage ( $group) |
Gets the title of a page describing a particular user group. | |
static | getLink ( $ugm, IContextSource $context, $format, $userName=null) |
Gets a link for a user group, possibly including the expiry date if relevant. | |
static | getMembership ( $userId, $group, IDatabase $db=null) |
Returns a UserGroupMembership object that pertains to the given user and group, or false if the user does not belong to that group (or the assignment has expired). | |
static | getMembershipsForUser ( $userId, IDatabase $db=null) |
Returns UserGroupMembership objects for all the groups a user currently belongs to. | |
static | newFromRow ( $row) |
Creates a new UserGroupMembership object from a database row. | |
static | purgeExpired () |
Purge expired memberships from the user_groups table. | |
static | selectFields () |
Returns the list of user_groups fields that should be selected to create a new user group membership. | |
Protected Member Functions | |
getDatabaseArray (IDatabase $db) | |
Get an array suitable for passing to $dbw->insert() or $dbw->update() | |
initFromRow ( $row) | |
Private Attributes | |
string null | $expiry |
Timestamp of expiry in TS_MW format, or null if no expiry. | |
string | $group |
int | $userId |
The ID of the user who belongs to the group. | |
Represents a "user group membership" – a specific instance of a user belonging to a group.
For example, the fact that user Mary belongs to the sysop group is a user group membership.
The class encapsulates rows in the user_groups table. The logic is low-level and doesn't run any hooks. Often, you will want to call User::addGroup() or User::removeGroup() instead.
Definition at line 37 of file UserGroupMembership.php.
int | $userId | The ID of the user who belongs to the group |
string | null | $group | The internal group name |
string | null | $expiry | Timestamp of expiry in TS_MW format, or null if no expiry |
Definition at line 52 of file UserGroupMembership.php.
Delete the row from the user_groups table.
MWException |
IDatabase | null | $dbw | Optional master database connection to use |
Definition at line 119 of file UserGroupMembership.php.
References Wikimedia\Rdbms\IDatabase\affectedRows(), DB_MASTER, Wikimedia\Rdbms\IDatabase\delete(), group, Wikimedia\Rdbms\IDatabase\insert(), wfGetDB(), and wfReadOnly().
|
protected |
Get an array suitable for passing to $dbw->insert() or $dbw->update()
IDatabase | $db |
Definition at line 218 of file UserGroupMembership.php.
References Wikimedia\Rdbms\IDatabase\timestamp().
Referenced by insert().
UserGroupMembership::getExpiry | ( | ) |
Definition at line 75 of file UserGroupMembership.php.
Referenced by MediaWiki\Preferences\DefaultPreferencesFactory\profilePreferences().
UserGroupMembership::getGroup | ( | ) |
Definition at line 68 of file UserGroupMembership.php.
|
static |
Gets the localized name for a member of a group, if it exists.
For example, "administrator" or "bureaucrat"
string | $group | Internal group name |
string | $username | Username for gender |
Definition at line 453 of file UserGroupMembership.php.
References $username, and wfMessage().
|
static |
Gets the localized friendly name for a group, if it exists.
For example, "Administrators" or "Bureaucrats"
string | $group | Internal group name |
Definition at line 440 of file UserGroupMembership.php.
References wfMessage().
|
static |
Gets the title of a page describing a particular user group.
When the name of the group appears in the UI, it can link to this page.
string | $group | Internal group name |
Definition at line 465 of file UserGroupMembership.php.
References $title, and(), and wfMessage().
|
static |
Gets a link for a user group, possibly including the expiry date if relevant.
string | UserGroupMembership | $ugm | Either a group name as a string, or a UserGroupMembership object |
IContextSource | $context | |
string | $format | Either 'wiki' or 'html' |
string | null | $userName | If you want to use the group member message ("administrator"), pass the name of the user who belongs to the group; it is used for GENDER of the group member message. If you instead want the group name message ("Administrators"), omit this parameter. |
Definition at line 374 of file UserGroupMembership.php.
References $context, $expiry, and(), and Linker\link().
Referenced by MediaWiki\Preferences\DefaultPreferencesFactory\profilePreferences().
Returns a UserGroupMembership object that pertains to the given user and group, or false if the user does not belong to that group (or the assignment has expired).
int | $userId | ID of the user to search for |
string | $group | User group name |
IDatabase | null | $db | Optional database connection |
Definition at line 341 of file UserGroupMembership.php.
References and(), DB_REPLICA, and wfGetDB().
Returns UserGroupMembership objects for all the groups a user currently belongs to.
int | $userId | ID of the user to search for |
IDatabase | null | $db | Optional database connection |
Definition at line 309 of file UserGroupMembership.php.
References $res, and(), DB_REPLICA, and wfGetDB().
UserGroupMembership::getUserId | ( | ) |
Definition at line 61 of file UserGroupMembership.php.
|
protected |
Definition at line 79 of file UserGroupMembership.php.
References and(), group, null, and wfTimestamp().
Insert a user right membership into the database.
When $allowUpdate is false, the function fails if there is a conflicting membership entry (same user and group) already in the table.
MWException |
bool | $allowUpdate | Whether to perform "upsert" instead of INSERT |
IDatabase | null | $dbw | If you have one available |
Definition at line 156 of file UserGroupMembership.php.
References Wikimedia\Rdbms\IDatabase\addQuotes(), Wikimedia\Rdbms\IDatabase\affectedRows(), and(), DB_MASTER, getDatabaseArray(), group, Wikimedia\Rdbms\IDatabase\insert(), null, Wikimedia\Rdbms\IDatabase\selectRow(), Wikimedia\Rdbms\IDatabase\timestamp(), Wikimedia\Rdbms\IDatabase\update(), and wfGetDB().
UserGroupMembership::isExpired | ( | ) |
Has the membership expired?
Definition at line 230 of file UserGroupMembership.php.
References wfTimestampNow().
|
static |
Creates a new UserGroupMembership object from a database row.
stdClass | $row | The row from the user_groups table |
Definition at line 93 of file UserGroupMembership.php.
References and().
|
static |
Purge expired memberships from the user_groups table.
Definition at line 243 of file UserGroupMembership.php.
References $res, $services, Wikimedia\Rdbms\IDatabase\addQuotes(), and(), DB_MASTER, Wikimedia\Rdbms\IDatabase\delete(), Wikimedia\Rdbms\IDatabase\endAtomic(), Wikimedia\Rdbms\IDatabase\getDomainID(), Wikimedia\Rdbms\IDatabase\getScopedLockAndFlush(), Wikimedia\Rdbms\IDatabase\insert(), Wikimedia\Rdbms\IDatabase\makeList(), Wikimedia\Rdbms\IDatabase\select(), Wikimedia\Rdbms\IDatabase\startAtomic(), and Wikimedia\Rdbms\IDatabase\timestamp().
|
static |
Returns the list of user_groups fields that should be selected to create a new user group membership.
Definition at line 104 of file UserGroupMembership.php.
|
private |
Timestamp of expiry in TS_MW format, or null if no expiry.
Definition at line 45 of file UserGroupMembership.php.
Referenced by __construct(), and getLink().
|
private |
Definition at line 42 of file UserGroupMembership.php.
|
private |
The ID of the user who belongs to the group.
Definition at line 39 of file UserGroupMembership.php.