MediaWiki  master
WikiMap Class Reference

Helper tools for dealing with other locally-hosted wikis. More...

Static Public Member Functions

static foreignUserLink ( $wikiID, $user, $text=null)
 Convenience to get a link to a user page on a foreign wiki. More...
 
static getCanonicalServerInfoForAllWikis ()
 Get canonical server info for all local wikis in the map that have one. More...
 
static getCurrentWikiDbDomain ()
 
static getCurrentWikiId ()
 
static getForeignURL ( $wikiID, $page, $fragmentId=null)
 Convenience to get a url to a page on a foreign wiki. More...
 
static getWiki ( $wikiID)
 Get a WikiReference object for $wikiID. More...
 
static getWikiFromUrl ( $url)
 
static getWikiIdFromDbDomain ( $domain)
 Get the wiki ID of a database domain. More...
 
static getWikiName ( $wikiID)
 Convenience to get the wiki's display name. More...
 
static isCurrentWikiDbDomain ( $domain)
 
static isCurrentWikiId ( $wikiId)
 
static makeForeignLink ( $wikiID, $page, $text=null)
 Convenience to get a link to a page on a foreign wiki. More...
 

Static Private Member Functions

static getWikiReferenceFromWgConf ( $wikiID)
 
static getWikiWikiReferenceFromSites ( $wikiID)
 

Detailed Description

Helper tools for dealing with other locally-hosted wikis.

Definition at line 29 of file WikiMap.php.

Member Function Documentation

◆ foreignUserLink()

static WikiMap::foreignUserLink (   $wikiID,
  $user,
  $text = null 
)
static

Convenience to get a link to a user page on a foreign wiki.

Parameters
string$wikiIDWiki'd id (generally database name)
string$userUser name (must be normalised before calling this function!)
string | null$textLink's text; optional, default to "User:$user"
Returns
string HTML link or false if the wiki was not found

Definition at line 137 of file WikiMap.php.

References makeForeignLink().

Referenced by RightsLogFormatter\makePageLink().

◆ getCanonicalServerInfoForAllWikis()

static WikiMap::getCanonicalServerInfoForAllWikis ( )
static

Get canonical server info for all local wikis in the map that have one.

Returns
array[] Map of (local wiki ID => map of (url,parts)) -return array<string,array{url:string,parts:string[]|bool}>
Since
1.30

Definition at line 188 of file WikiMap.php.

References $cache, $wgCanonicalServer, $wgLocalDatabases, getCurrentWikiId(), getWiki(), and wfParseUrl().

◆ getCurrentWikiDbDomain()

◆ getCurrentWikiId()

◆ getForeignURL()

static WikiMap::getForeignURL (   $wikiID,
  $page,
  $fragmentId = null 
)
static

Convenience to get a url to a page on a foreign wiki.

Parameters
string$wikiIDWiki'd id (generally database name)
string$pagePage name (must be normalised before calling this function!)
string | null$fragmentId
Returns
string|bool URL or false if the wiki was not found

Definition at line 171 of file WikiMap.php.

References getWiki().

Referenced by Linker\makeCommentLink(), and makeForeignLink().

◆ getWiki()

static WikiMap::getWiki (   $wikiID)
static

Get a WikiReference object for $wikiID.

Parameters
string$wikiIDWiki'd id (generally database name)
Returns
WikiReference|null WikiReference object or null if the wiki was not found

Definition at line 37 of file WikiMap.php.

References getWikiReferenceFromWgConf(), and getWikiWikiReferenceFromSites().

Referenced by getCanonicalServerInfoForAllWikis(), getForeignURL(), and getWikiName().

◆ getWikiFromUrl()

static WikiMap::getWikiFromUrl (   $url)
static
Parameters
string$url
Returns
bool|string Wiki ID or false
Since
1.30

Definition at line 224 of file WikiMap.php.

References $wgCanonicalServer, getCurrentWikiId(), and wfParseUrl().

Referenced by MediaWiki\getUrlDomainDistance().

◆ getWikiIdFromDbDomain()

static WikiMap::getWikiIdFromDbDomain (   $domain)
static

Get the wiki ID of a database domain.

This is like DatabaseDomain::getId() without encoding (for legacy reasons) and without the schema if it is the generic installer default of "mediawiki"

See also
$wgDBmwschema
PostgresInstaller
Parameters
string | DatabaseDomain$domain
Returns
string
Since
1.31

Definition at line 269 of file WikiMap.php.

Referenced by JobQueueGroup\getCachedConfigVar(), getCurrentWikiId(), JobQueueRedis\getQueueKey(), JobQueue\getWiki(), JobQueueGroup\singleton(), and ExternalStoreMwstore\store().

◆ getWikiName()

static WikiMap::getWikiName (   $wikiID)
static

Convenience to get the wiki's display name.

Todo:
We can give more info than just the wiki id!
Parameters
string$wikiIDWiki'd id (generally database name)
Returns
string|int Wiki's name or $wiki_id if the wiki was not found

Definition at line 120 of file WikiMap.php.

References getWiki().

◆ getWikiReferenceFromWgConf()

static WikiMap::getWikiReferenceFromWgConf (   $wikiID)
staticprivate
Parameters
string$wikiID
Returns
WikiReference|null WikiReference object or null if the wiki was not found

Definition at line 51 of file WikiMap.php.

References $path, and $wgConf.

Referenced by getWiki().

◆ getWikiWikiReferenceFromSites()

static WikiMap::getWikiWikiReferenceFromSites (   $wikiID)
staticprivate
Parameters
string$wikiID
Returns
WikiReference|null WikiReference object or null if the wiki was not found

Definition at line 86 of file WikiMap.php.

References $path, and wfParseUrl().

Referenced by getWiki().

◆ isCurrentWikiDbDomain()

static WikiMap::isCurrentWikiDbDomain (   $domain)
static
Parameters
DatabaseDomain | string$domain
Returns
bool Whether $domain matches the DB domain of the current wiki
Since
1.33

Definition at line 312 of file WikiMap.php.

References getCurrentWikiDbDomain().

Referenced by MediaWiki\User\UserGroupManager\addUserToAutopromoteOnceGroups(), JobQueueGroup\getCachedConfigVar(), JobQueueGroup\pop(), and JobQueueGroup\singleton().

◆ isCurrentWikiId()

static WikiMap::isCurrentWikiId (   $wikiId)
static
Parameters
string$wikiId
Returns
bool Whether $wikiId matches the wiki ID of the current wiki
Since
1.33

Definition at line 321 of file WikiMap.php.

Referenced by UserrightsPage\fetchUser(), SiteConfiguration\getConfig(), UserRightsProxy\getDB(), User\getNewMessageRevisionId(), MediaWiki\getUrlDomainDistance(), and LocalIdLookup\isAttached().

◆ makeForeignLink()

static WikiMap::makeForeignLink (   $wikiID,
  $page,
  $text = null 
)
static

Convenience to get a link to a page on a foreign wiki.

Parameters
string$wikiIDWiki'd id (generally database name)
string$pagePage name (must be normalised before calling this function!)
string | null$textLink's text; optional, default to $page
Returns
string|false HTML link or false if the wiki was not found

Definition at line 149 of file WikiMap.php.

References getForeignURL(), and Linker\makeExternalLink().

Referenced by foreignUserLink().


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