MediaWiki master
MediaWiki\Site\Site Class Reference

Represents a single site. More...

Inherited by MediaWiki\Site\MediaWikiSite.

Public Member Functions

 __construct ( $type=self::TYPE_UNKNOWN)
 
 __serialize ()
 
 __unserialize ( $fields)
 
 addInterwikiId ( $identifier)
 Adds an interwiki id to the site.
 
 addLocalId ( $type, $identifier)
 Adds a local identifier.
 
 addNavigationId ( $identifier)
 Adds a navigation id to the site.
 
 getAllPaths ()
 Returns the paths as associative array.
 
 getDomain ()
 Returns the domain of the site, ie en.wikipedia.org Or null if it's not known.
 
 getExtraConfig ()
 Returns the type specific config.
 
 getExtraData ()
 Returns the type specific fields.
 
 getGlobalId ()
 Returns the global site identifier (ie enwiktionary).
 
 getGroup ()
 Gets the group of the site (ie wikipedia).
 
 getInternalId ()
 Returns the set internal identifier for the site.
 
 getInterwikiIds ()
 Returns the interwiki link identifiers that can be used for this site.
 
 getLanguageCode ()
 Returns language code of the sites primary language.
 
 getLinkPath ()
 Returns the path used to construct links with or false if there is no such path.
 
 getLinkPathType ()
 Returns the main path type, that is the type of the path that should generally be used to construct links to the target site.
 
 getLocalIds ()
 Returns all local ids.
 
 getNavigationIds ()
 Returns the equivalent link identifiers that can be used to make the site show up in interfaces such as the "language links" section.
 
 getPageUrl ( $pageName=false)
 Get the full URL for the given page on the site.
 
 getPath ( $pathType)
 Returns the path of the provided type or null if there is no such path.
 
 getProtocol ()
 Returns the protocol of the site.
 
 getSource ()
 Returns the source of the site data (ie 'local', 'wikidata', 'my-magical-repo').
 
 getType ()
 Returns the type of the site (ie mediawiki).
 
 normalizePageName ( $pageName, $followRedirect=MediaWikiPageNameNormalizer::FOLLOW_REDIRECT)
 Attempt to normalize the page name in some fashion.
 
 removePath ( $pathType)
 Removes the path of the provided type if it's set.
 
 setExtraConfig (array $extraConfig)
 Sets the type specific config.
 
 setExtraData (array $extraData)
 Sets the type specific fields.
 
 setForward (bool $shouldForward)
 Sets if site.tld/path/key:pageTitle should forward users to the page on the actual site, where "key" is the local identifier.
 
 setGlobalId (?string $globalId)
 Sets the global site identifier (ie enwiktionary).
 
 setGroup (string $group)
 Sets the group of the site (ie wikipedia).
 
 setInternalId ( $internalId=null)
 Sets the internal identifier for the site.
 
 setLanguageCode ( $languageCode)
 Sets language code of the sites primary language.
 
 setLinkPath ( $fullUrl)
 Set the path used to construct links with.
 
 setPath ( $pathType, string $fullUrl)
 Set the path used to construct links with.
 
 setSource (string $source)
 Sets the source of the site data (ie 'local', 'wikidata', 'my-magical-repo').
 
 shouldForward ()
 Gets if site.tld/path/key:pageTitle should forward users to the page on the actual site, where "key" is the local identifier.
 

Static Public Member Functions

static newForType ( $siteType)
 

Public Attributes

const GROUP_NONE = 'none'
 
const ID_EQUIVALENT = 'equivalent'
 
const ID_INTERWIKI = 'interwiki'
 
const PATH_LINK = 'link'
 
const SOURCE_LOCAL = 'local'
 
const TYPE_MEDIAWIKI = 'mediawiki'
 
const TYPE_UNKNOWN = 'unknown'
 

Protected Attributes

array $extraConfig = []
 
array $extraData = []
 
bool $forward = false
 
string null $globalId = null
 
string $group = self::GROUP_NONE
 
int null $internalId = null
 
string null $languageCode = null
 
string[][] false $localIds = []
 Holds the local ids for this site.
 
string $source = self::SOURCE_LOCAL
 
string $type = self::TYPE_UNKNOWN
 

Detailed Description

Represents a single site.

Since
1.21
Author
Jeroen De Dauw < jeroe.nosp@m.nded.nosp@m.auw@g.nosp@m.mail.nosp@m..com >

Definition at line 36 of file Site.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Site\Site::__construct ( $type = self::TYPE_UNKNOWN)
Since
1.21
Parameters
string$type

Reimplemented in MediaWiki\Site\MediaWikiSite.

Definition at line 136 of file Site.php.

References MediaWiki\Site\Site\$type.

Member Function Documentation

◆ __serialize()

MediaWiki\Site\Site::__serialize ( )
See also
Serializable::serialize
Since
1.38
Returns
array

Definition at line 639 of file Site.php.

References $source.

◆ __unserialize()

MediaWiki\Site\Site::__unserialize ( $fields)
See also
Serializable::unserialize
Since
1.38
Parameters
array$fields

Definition at line 661 of file Site.php.

◆ addInterwikiId()

MediaWiki\Site\Site::addInterwikiId ( $identifier)

Adds an interwiki id to the site.

Since
1.21
Parameters
string$identifier

Definition at line 508 of file Site.php.

◆ addLocalId()

MediaWiki\Site\Site::addLocalId ( $type,
$identifier )

Adds a local identifier.

Since
1.21
Parameters
string$type
string$identifier

Definition at line 487 of file Site.php.

◆ addNavigationId()

MediaWiki\Site\Site::addNavigationId ( $identifier)

Adds a navigation id to the site.

Since
1.21
Parameters
string$identifier

Definition at line 519 of file Site.php.

◆ getAllPaths()

MediaWiki\Site\Site::getAllPaths ( )

Returns the paths as associative array.

The keys are path types, the values are the path urls.

Since
1.21
Returns
string[]

Definition at line 596 of file Site.php.

◆ getDomain()

MediaWiki\Site\Site::getDomain ( )

Returns the domain of the site, ie en.wikipedia.org Or null if it's not known.

Since
1.21
Returns
string|null

Definition at line 245 of file Site.php.

◆ getExtraConfig()

MediaWiki\Site\Site::getExtraConfig ( )

Returns the type specific config.

Since
1.21
Returns
array

Definition at line 414 of file Site.php.

◆ getExtraData()

MediaWiki\Site\Site::getExtraData ( )

Returns the type specific fields.

Since
1.21
Returns
array

Definition at line 392 of file Site.php.

◆ getGlobalId()

MediaWiki\Site\Site::getGlobalId ( )

Returns the global site identifier (ie enwiktionary).

Since
1.21
Returns
string|null

Definition at line 147 of file Site.php.

References MediaWiki\Site\Site\$globalId.

Referenced by MediaWiki\Site\HashSiteStore\saveSite().

◆ getGroup()

MediaWiki\Site\Site::getGroup ( )

Gets the group of the site (ie wikipedia).

Since
1.21
Returns
string

Definition at line 179 of file Site.php.

References MediaWiki\Site\Site\$group.

◆ getInternalId()

MediaWiki\Site\Site::getInternalId ( )

Returns the set internal identifier for the site.

Since
1.21
Returns
int|null

Definition at line 463 of file Site.php.

◆ getInterwikiIds()

MediaWiki\Site\Site::getInterwikiIds ( )

Returns the interwiki link identifiers that can be used for this site.

Since
1.21
Returns
string[]

Definition at line 530 of file Site.php.

◆ getLanguageCode()

MediaWiki\Site\Site::getLanguageCode ( )

Returns language code of the sites primary language.

Or null if it's not known.

Since
1.21
Returns
string|null

Definition at line 437 of file Site.php.

◆ getLinkPath()

MediaWiki\Site\Site::getLinkPath ( )

Returns the path used to construct links with or false if there is no such path.

Shall be equivalent to getPath( getLinkPathType() ).

Returns
string|null

Definition at line 315 of file Site.php.

Referenced by MediaWiki\Site\MediaWikiSite\getPageUrl().

◆ getLinkPathType()

MediaWiki\Site\Site::getLinkPathType ( )

Returns the main path type, that is the type of the path that should generally be used to construct links to the target site.

This default implementation returns Site::PATH_LINK as the default path type. Subclasses can override this to define a different default path type, or return false to disable site links.

Since
1.21
Returns
string|null

Reimplemented in MediaWiki\Site\MediaWikiSite.

Definition at line 332 of file Site.php.

◆ getLocalIds()

MediaWiki\Site\Site::getLocalIds ( )

Returns all local ids.

Since
1.21
Returns
array[]

Definition at line 557 of file Site.php.

◆ getNavigationIds()

MediaWiki\Site\Site::getNavigationIds ( )

Returns the equivalent link identifiers that can be used to make the site show up in interfaces such as the "language links" section.

Since
1.21
Returns
string[]

Definition at line 544 of file Site.php.

◆ getPageUrl()

MediaWiki\Site\Site::getPageUrl ( $pageName = false)

Get the full URL for the given page on the site.

Returns null if the needed information is not known.

This generated URL is usually based upon the path returned by getLinkPath(), but this is not a requirement.

This implementation returns a URL constructed using the path returned by getLinkPath().

Since
1.21
Parameters
string | false$pageName
Returns
string|null

Reimplemented in MediaWiki\Site\MediaWikiSite.

Definition at line 350 of file Site.php.

◆ getPath()

MediaWiki\Site\Site::getPath ( $pathType)

Returns the path of the provided type or null if there is no such path.

Since
1.21
Parameters
string$pathType
Returns
string|null

Definition at line 583 of file Site.php.

Referenced by MediaWiki\Site\MediaWikiSite\getFileUrl(), MediaWiki\Site\MediaWikiSite\getRelativeFilePath(), and MediaWiki\Site\MediaWikiSite\getRelativePagePath().

◆ getProtocol()

MediaWiki\Site\Site::getProtocol ( )

Returns the protocol of the site.

Since
1.21
Returns
string

Definition at line 267 of file Site.php.

References $path.

◆ getSource()

MediaWiki\Site\Site::getSource ( )

Returns the source of the site data (ie 'local', 'wikidata', 'my-magical-repo').

Since
1.21
Returns
string

Definition at line 200 of file Site.php.

References MediaWiki\Site\Site\$source.

◆ getType()

MediaWiki\Site\Site::getType ( )

Returns the type of the site (ie mediawiki).

Since
1.21
Returns
string

Definition at line 168 of file Site.php.

References MediaWiki\Site\Site\$type.

◆ newForType()

static MediaWiki\Site\Site::newForType ( $siteType)
static
Since
1.21
Parameters
string$siteType
Returns
Site

Definition at line 620 of file Site.php.

References MediaWiki\MediaWikiServices\getInstance(), and MediaWiki\MainConfigNames\SiteTypes.

Referenced by MediaWiki\Site\DBSiteStore\loadSites(), and MediaWiki\Site\SiteImporter\makeSite().

◆ normalizePageName()

MediaWiki\Site\Site::normalizePageName ( $pageName,
$followRedirect = MediaWikiPageNameNormalizer::FOLLOW_REDIRECT )

Attempt to normalize the page name in some fashion.

May return false to indicate various kinds of failure.

This implementation returns $pageName without changes.

See also
Site::normalizePageName
Since
1.21
1.37 Added $followRedirect
Parameters
string$pageName
int$followRedirecteither MediaWikiPageNameNormalizer::FOLLOW_REDIRECT or MediaWikiPageNameNormalizer::NOFOLLOW_REDIRECT
Returns
string|false

Reimplemented in MediaWiki\Site\MediaWikiSite.

Definition at line 381 of file Site.php.

◆ removePath()

MediaWiki\Site\Site::removePath ( $pathType)

Removes the path of the provided type if it's set.

Since
1.21
Parameters
string$pathType

Definition at line 607 of file Site.php.

◆ setExtraConfig()

MediaWiki\Site\Site::setExtraConfig ( array $extraConfig)

Sets the type specific config.

Since
1.21
Parameters
array$extraConfig

Definition at line 425 of file Site.php.

◆ setExtraData()

MediaWiki\Site\Site::setExtraData ( array $extraData)

Sets the type specific fields.

Since
1.21
Parameters
array$extraData

Definition at line 403 of file Site.php.

◆ setForward()

MediaWiki\Site\Site::setForward ( bool $shouldForward)

Sets if site.tld/path/key:pageTitle should forward users to the page on the actual site, where "key" is the local identifier.

Since
1.21
Parameters
bool$shouldForward

Definition at line 233 of file Site.php.

◆ setGlobalId()

MediaWiki\Site\Site::setGlobalId ( ?string $globalId)

Sets the global site identifier (ie enwiktionary).

Since
1.21
Parameters
string | null$globalId

Definition at line 157 of file Site.php.

References MediaWiki\Site\Site\$globalId.

◆ setGroup()

MediaWiki\Site\Site::setGroup ( string $group)

Sets the group of the site (ie wikipedia).

Since
1.21
Parameters
string$group

Definition at line 189 of file Site.php.

References MediaWiki\Site\Site\$group.

◆ setInternalId()

MediaWiki\Site\Site::setInternalId ( $internalId = null)

Sets the internal identifier for the site.

This typically is a primary key in a db table.

Since
1.21
Parameters
int | null$internalId

Definition at line 475 of file Site.php.

◆ setLanguageCode()

MediaWiki\Site\Site::setLanguageCode ( $languageCode)

Sets language code of the sites primary language.

Since
1.21
Parameters
string | null$languageCode

Definition at line 448 of file Site.php.

References MediaWiki\MediaWikiServices\getInstance().

◆ setLinkPath()

MediaWiki\Site\Site::setLinkPath ( $fullUrl)

Set the path used to construct links with.

Shall be equivalent to setPath( getLinkPathType(), $fullUrl ).

Parameters
string$fullUrl
Since
1.21

Definition at line 298 of file Site.php.

◆ setPath()

MediaWiki\Site\Site::setPath ( $pathType,
string $fullUrl )

Set the path used to construct links with.

Shall be equivalent to setPath( getLinkPathType(), $fullUrl ).

Since
1.21
Parameters
string$pathType
string$fullUrl

Definition at line 570 of file Site.php.

Referenced by MediaWiki\Site\MediaWikiSite\setFilePath(), and MediaWiki\Site\MediaWikiSite\setPagePath().

◆ setSource()

MediaWiki\Site\Site::setSource ( string $source)

Sets the source of the site data (ie 'local', 'wikidata', 'my-magical-repo').

Since
1.21
Parameters
string$source

Definition at line 210 of file Site.php.

References MediaWiki\Site\Site\$source.

◆ shouldForward()

MediaWiki\Site\Site::shouldForward ( )

Gets if site.tld/path/key:pageTitle should forward users to the page on the actual site, where "key" is the local identifier.

Since
1.21
Returns
bool

Definition at line 222 of file Site.php.

References MediaWiki\Site\Site\$forward.

Member Data Documentation

◆ $extraConfig

array MediaWiki\Site\Site::$extraConfig = []
protected
Since
1.21

Definition at line 115 of file Site.php.

◆ $extraData

array MediaWiki\Site\Site::$extraData = []
protected
Since
1.21

Definition at line 108 of file Site.php.

◆ $forward

bool MediaWiki\Site\Site::$forward = false
protected
Since
1.21

Definition at line 122 of file Site.php.

Referenced by MediaWiki\Site\Site\shouldForward().

◆ $globalId

string null MediaWiki\Site\Site::$globalId = null
protected
Since
1.21

Definition at line 63 of file Site.php.

Referenced by MediaWiki\Site\Site\getGlobalId(), and MediaWiki\Site\Site\setGlobalId().

◆ $group

string MediaWiki\Site\Site::$group = self::GROUP_NONE
protected
Since
1.21

Definition at line 77 of file Site.php.

Referenced by MediaWiki\Site\Site\getGroup(), and MediaWiki\Site\Site\setGroup().

◆ $internalId

int null MediaWiki\Site\Site::$internalId = null
protected
Since
1.21

Definition at line 129 of file Site.php.

◆ $languageCode

string null MediaWiki\Site\Site::$languageCode = null
protected
Since
1.21

Definition at line 91 of file Site.php.

◆ $localIds

string [][] false MediaWiki\Site\Site::$localIds = []
protected

Holds the local ids for this site.

local id type => [ ids for this type (strings) ]

Since
1.21

Definition at line 101 of file Site.php.

◆ $source

string MediaWiki\Site\Site::$source = self::SOURCE_LOCAL
protected
Since
1.21

Definition at line 84 of file Site.php.

Referenced by MediaWiki\Site\Site\getSource(), and MediaWiki\Site\Site\setSource().

◆ $type

string MediaWiki\Site\Site::$type = self::TYPE_UNKNOWN
protected

◆ GROUP_NONE

const MediaWiki\Site\Site::GROUP_NONE = 'none'

Definition at line 40 of file Site.php.

Referenced by MediaWiki\Site\SiteImporter\makeSite().

◆ ID_EQUIVALENT

const MediaWiki\Site\Site::ID_EQUIVALENT = 'equivalent'

Definition at line 43 of file Site.php.

◆ ID_INTERWIKI

const MediaWiki\Site\Site::ID_INTERWIKI = 'interwiki'

Definition at line 42 of file Site.php.

◆ PATH_LINK

const MediaWiki\Site\Site::PATH_LINK = 'link'

Definition at line 47 of file Site.php.

◆ SOURCE_LOCAL

const MediaWiki\Site\Site::SOURCE_LOCAL = 'local'

Definition at line 45 of file Site.php.

Referenced by MediaWiki\Site\SiteImporter\makeSite().

◆ TYPE_MEDIAWIKI

const MediaWiki\Site\Site::TYPE_MEDIAWIKI = 'mediawiki'

Definition at line 38 of file Site.php.

◆ TYPE_UNKNOWN

const MediaWiki\Site\Site::TYPE_UNKNOWN = 'unknown'

Definition at line 37 of file Site.php.

Referenced by MediaWiki\Site\SiteImporter\makeSite().


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