41 $this->database = $database;
43 $this->
id = intval( $id );
44 $this->newOptions = [];
53 return $this->database;
75 public static function whoIs( $database, $id, $ignoreInvalidDB =
false ) {
92 public static function newFromId( $database, $id, $ignoreInvalidDB =
false ) {
104 public static function newFromName( $database, $name, $ignoreInvalidDB =
false ) {
123 $userdb =
self::getDB( $database, $ignoreInvalidDB );
128 if ( $db && $userdb ) {
129 $row = $userdb->selectRow(
'user',
130 [
'user_id',
'user_name' ],
134 if ( $row !==
false ) {
137 intval( $row->user_id ) );
151 public static function getDB( $database, $ignoreInvalidDB =
false ) {
153 if ( $ignoreInvalidDB || self::validDatabase( $database ) ) {
175 return $this->
getId() == 0;
184 return $this->name .
'@' . $this->database;
193 return Title::makeTitle( NS_USER, $this->
getName() );
201 return array_keys( self::getGroupMemberships() );
227 return $ugm->insert(
true, $this->db );
241 return $ugm->delete( $this->db );
250 $this->newOptions[$option] =
$value;
255 foreach ( $this->newOptions as $option =>
$value ) {
257 'up_user' => $this->id,
258 'up_property' => $option,
262 $this->db->replace(
'user_properties',
263 [ [
'up_user',
'up_property' ] ],
275 [
'user_touched' => $this->db->timestamp() ],
276 [
'user_id' => $this->id ],
280 $domainId = $this->db->getDomainID();
282 $this->db->onTransactionPreCommitOrIdle(
283 function () use ( $domainId, $userId ) {
284 User::purge( $domainId, $userId );
$wgLocalDatabases
Other wikis on this site, can be administered from a single developer account.
$wgSharedDB
Shared database for multiple wikis.
wfGetDB( $db, $groups=[], $wiki=false)
Get a Database object.
wfTimestamp( $outputtype=TS_UNIX, $ts=0)
Get a timestamp string in one of various formats.
Represents a "user group membership" – a specific instance of a user belonging to a group.
static getMembershipsForUser( $userId, IDatabase $db=null)
Returns UserGroupMembership objects for all the groups a user currently belongs to.
static getMembership( $userId, $group, IDatabase $db=null)
Returns a UserGroupMembership object that pertains to the given user and group, or false if the user ...
Cut-down copy of User interface for local-interwiki-database user rights manipulation.
static newFromLookup( $database, $field, $value, $ignoreInvalidDB=false)
getName()
Same as User::getName()
__construct( $db, $database, $name, $id)
static validDatabase( $database)
Confirm the selected database name is a valid local interwiki database name.
getGroupMemberships()
Replaces User::getGroupMemberships()
static newFromName( $database, $name, $ignoreInvalidDB=false)
Factory function; get a remote user entry by name.
removeGroup( $group)
Replaces User::removeGroup()
static getDB( $database, $ignoreInvalidDB=false)
Open a database connection to work on for the requested user.
getGroups()
Replaces User::getUserGroups()
setOption( $option, $value)
Replaces User::setOption()
invalidateCache()
Replaces User::touchUser()
getDBName()
Accessor for $this->database.
static newFromId( $database, $id, $ignoreInvalidDB=false)
Factory function; get a remote user entry by ID number.
static whoIs( $database, $id, $ignoreInvalidDB=false)
Same as User::whoIs()
addGroup( $group, $expiry=null)
Replaces User::addGroup()
getUserPage()
Same as User::getUserPage()
do that in ParserLimitReportFormat instead use this to modify the parameters of the image all existing parser cache entries will be invalid To avoid you ll need to handle that somehow(e.g. with the RejectParserCacheValue hook) because MediaWiki won 't do it for you. & $defaults also a ContextSource after deleting those rows but within the same transaction $rows
Allows to change the fields on the form that will be generated $name
controlled by $wgMainCacheType controlled by $wgParserCacheType controlled by $wgMessageCacheType If you set CACHE_NONE to one of the three control default value for MediaWiki still create a but requests to it are no ops and we always fall through to the database If the cache daemon can t be it should also disable itself fairly smoothly By $wgMemc is used but when it is $parserMemc or $messageMemc this is mentioned $wgDBname