MediaWiki  1.27.2
Interwiki Class Reference

The interwiki class All information is loaded on creation when called by Interwiki::fetch( $prefix ). More...

Collaboration diagram for Interwiki:

Public Member Functions

 __construct ($prefix=null, $url= '', $api= '', $wikiId= '', $local=0, $trans=0)
 
 getAPI ()
 Get the API URL for this wiki. More...
 
 getDescription ()
 Get a description for this interwiki. More...
 
 getName ()
 Get the name for the interwiki site. More...
 
 getURL ($title=null)
 Get the URL for a particular title (or with $1 if no title given) More...
 
 getWikiID ()
 Get the DB name for this wiki. More...
 
 isLocal ()
 Is this a local link from a sister project, or is it something outside, like Google. More...
 
 isTranscludable ()
 Can pages from this wiki be transcluded? Still requires $wgEnableScaryTransclusion. More...
 

Static Public Member Functions

static fetch ($prefix)
 Fetch an Interwiki object. More...
 
static getAllPrefixes ($local=null)
 Returns all interwiki prefixes. More...
 
static invalidateCache ($prefix)
 Purge the cache (local and persistent) for an interwiki prefix. More...
 
static isValidInterwiki ($prefix)
 Check whether an interwiki prefix exists. More...
 
static resetLocalCache ()
 Resets locally cached Interwiki objects. More...
 
static selectFields ()
 Return the list of interwiki fields that should be selected to create a new Interwiki object. More...
 

Public Attributes

const CACHE_LIMIT = 100
 

Static Protected Member Functions

static getAllPrefixesCached ($local)
 Fetch all interwiki prefixes from interwiki cache. More...
 
static getAllPrefixesDB ($local)
 Fetch all interwiki prefixes from DB. More...
 
static getInterwikiCached ($prefix)
 Fetch interwiki prefix data from local cache in constant database. More...
 
static getInterwikiCacheEntry ($prefix)
 Get entry from interwiki cache. More...
 
static load ($prefix)
 Load the interwiki, trying first memcached then the DB. More...
 
static loadFromArray ($mc)
 Fill in member variables from an array (e.g. More...
 

Protected Attributes

string $mAPI
 The URL of the file api.php. More...
 
bool $mLocal
 Whether the wiki is in this project. More...
 
string $mPrefix
 The interwiki prefix, (e.g. More...
 
bool $mTrans
 Whether interwiki transclusions are allowed. More...
 
string $mURL
 The URL of the wiki, with "$1" as a placeholder for an article name. More...
 
string $mWikiID
 The name of the database (for a connection to be established with wfGetLB( 'wikiid' )) More...
 

Static Protected Attributes

static $smCache = []
 

Static Private Member Functions

static getCacheValue ($key)
 

Detailed Description

The interwiki class All information is loaded on creation when called by Interwiki::fetch( $prefix ).

All work is done on slave, because this should never change (except during schema updates etc, which aren't wiki-related)

Definition at line 31 of file Interwiki.php.

Constructor & Destructor Documentation

Interwiki::__construct (   $prefix = null,
  $url = '',
  $api = '',
  $wikiId = '',
  $local = 0,
  $trans = 0 
)

Definition at line 56 of file Interwiki.php.

Member Function Documentation

static Interwiki::fetch (   $prefix)
static
static Interwiki::getAllPrefixes (   $local = null)
static

Returns all interwiki prefixes.

Parameters
string | null$localIf set, limits output to local/non-local interwikis
Returns
array List of prefixes
Since
1.19

Definition at line 392 of file Interwiki.php.

References $wgInterwikiCache, and global.

Referenced by ApiQuerySiteinfo\appendInterwikiMap(), NamespaceConflictChecker\getInterwikiList(), InterwikiTest\testArrayStorage(), InterwikiTest\testCDBStorage(), and InterwikiTest\testDatabaseStorage().

static Interwiki::getAllPrefixesCached (   $local)
staticprotected

Fetch all interwiki prefixes from interwiki cache.

Parameters
null | string$localIf not null, limits output to local/non-local interwikis
Returns
array List of prefixes
Since
1.19

Definition at line 293 of file Interwiki.php.

References $e, $source, $wgInterwikiFallbackSite, $wgInterwikiScopes, as, global, list, wfDebug(), and wfWikiID().

static Interwiki::getAllPrefixesDB (   $local)
staticprotected

Fetch all interwiki prefixes from DB.

Parameters
string | null$localIf not null, limits output to local/non-local interwikis
Returns
array List of prefixes
Since
1.19

Definition at line 359 of file Interwiki.php.

References $res, $retval, array(), as, DB_SLAVE, and wfGetDB().

Interwiki::getAPI ( )

Get the API URL for this wiki.

Returns
string The URL

Definition at line 425 of file Interwiki.php.

References $mAPI.

static Interwiki::getCacheValue (   $key)
staticprivate

Definition at line 205 of file Interwiki.php.

References $key, $wgInterwikiCache, global, and Makefile\open.

Interwiki::getDescription ( )

Get a description for this interwiki.

Returns
string

Definition at line 474 of file Interwiki.php.

References wfMessage().

static Interwiki::getInterwikiCached (   $prefix)
staticprotected

Fetch interwiki prefix data from local cache in constant database.

Note
More logic is explained in DefaultSettings.
Parameters
string$prefixInterwiki prefix
Returns
Interwiki

Definition at line 146 of file Interwiki.php.

References $s, $value, and list.

Referenced by fetch().

static Interwiki::getInterwikiCacheEntry (   $prefix)
staticprotected

Get entry from interwiki cache.

Note
More logic is explained in DefaultSettings.
Parameters
string$prefixDatabase key
Returns
bool|string The interwiki entry or false if not found

Definition at line 170 of file Interwiki.php.

References $e, $value, $wgInterwikiFallbackSite, $wgInterwikiScopes, global, wfDebug(), wfMemcKey(), and wfWikiID().

Interwiki::getName ( )

Get the name for the interwiki site.

Returns
string

Definition at line 463 of file Interwiki.php.

References wfMessage().

Interwiki::getURL (   $title = null)

Get the URL for a particular title (or with $1 if no title given)

Parameters
string$titleWhat text to put for the article name
Returns
string The URL
Note
Prior to 1.19 The getURL with an argument was broken. If you if you use this arg in an extension that supports MW earlier than 1.19 please wfUrlencode and substitute $1 on your own.

Definition at line 411 of file Interwiki.php.

References $mURL, $title, and wfUrlencode().

Interwiki::getWikiID ( )

Get the DB name for this wiki.

Returns
string The DB name

Definition at line 434 of file Interwiki.php.

References $mWikiID.

static Interwiki::invalidateCache (   $prefix)
static

Purge the cache (local and persistent) for an interwiki prefix.

Parameters
string$prefix
Since
1.26

Definition at line 131 of file Interwiki.php.

References $cache, $key, ObjectCache\getMainWANInstance(), and wfMemcKey().

Referenced by InterwikiTest\testDatabaseStorage().

Interwiki::isLocal ( )

Is this a local link from a sister project, or is it something outside, like Google.

Returns
bool

Definition at line 444 of file Interwiki.php.

References $mLocal.

Interwiki::isTranscludable ( )

Can pages from this wiki be transcluded? Still requires $wgEnableScaryTransclusion.

Returns
bool

Definition at line 454 of file Interwiki.php.

References $mTrans.

static Interwiki::isValidInterwiki (   $prefix)
static

Check whether an interwiki prefix exists.

Parameters
string$prefixInterwiki prefix to use
Returns
bool Whether it exists

Definition at line 73 of file Interwiki.php.

Referenced by MediaWikiTitleCodec\splitTitleString(), InterwikiTest\testArrayStorage(), InterwikiTest\testCDBStorage(), and InterwikiTest\testDatabaseStorage().

static Interwiki::load (   $prefix)
staticprotected

Load the interwiki, trying first memcached then the DB.

Parameters
string$prefixThe interwiki prefix
Returns
Interwiki|bool Interwiki if $prefix is valid, otherwise false

Definition at line 224 of file Interwiki.php.

References $dbr, $wgInterwikiExpiry, array(), DB_SLAVE, DatabaseBase\getCacheSetOptions(), ObjectCache\getMainWANInstance(), global, loadFromArray(), Hooks\run(), selectFields(), use, wfGetDB(), and wfMemcKey().

Referenced by fetch().

static Interwiki::loadFromArray (   $mc)
staticprotected

Fill in member variables from an array (e.g.

memcached result, Database::fetchRow, etc)

Parameters
array$mcAssociative array: row from the interwiki table
Returns
Interwiki|bool Interwiki object or false if $mc['iw_url'] is not set

Definition at line 271 of file Interwiki.php.

Referenced by load().

static Interwiki::resetLocalCache ( )
static

Resets locally cached Interwiki objects.

This is intended for use during testing only. This does not invalidate entries in the persistent cache, as invalidateCache() does.

Since
1.27

Definition at line 122 of file Interwiki.php.

Referenced by InterwikiTest\testArrayStorage(), InterwikiTest\testCDBStorage(), and InterwikiTest\testDatabaseStorage().

static Interwiki::selectFields ( )
static

Return the list of interwiki fields that should be selected to create a new Interwiki object.

Returns
string[]

Definition at line 485 of file Interwiki.php.

Referenced by load().

Member Data Documentation

string Interwiki::$mAPI
protected

The URL of the file api.php.

Definition at line 43 of file Interwiki.php.

Referenced by getAPI().

bool Interwiki::$mLocal
protected

Whether the wiki is in this project.

Definition at line 51 of file Interwiki.php.

Referenced by isLocal().

string Interwiki::$mPrefix
protected

The interwiki prefix, (e.g.

"Meatball", or the language prefix "de")

Definition at line 37 of file Interwiki.php.

bool Interwiki::$mTrans
protected

Whether interwiki transclusions are allowed.

Definition at line 54 of file Interwiki.php.

Referenced by isTranscludable().

string Interwiki::$mURL
protected

The URL of the wiki, with "$1" as a placeholder for an article name.

Definition at line 40 of file Interwiki.php.

Referenced by getURL().

string Interwiki::$mWikiID
protected

The name of the database (for a connection to be established with wfGetLB( 'wikiid' ))

Definition at line 48 of file Interwiki.php.

Referenced by getWikiID().

Interwiki::$smCache = []
staticprotected

Definition at line 33 of file Interwiki.php.

const Interwiki::CACHE_LIMIT = 100

Definition at line 34 of file Interwiki.php.


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