MediaWiki REL1_37
SpecialVersion Class Reference

Give information about the version of MediaWiki, PHP, the DB and extensions. More...

Inheritance diagram for SpecialVersion:
Collaboration diagram for SpecialVersion:

Public Member Functions

 __construct (Parser $parser)
 
 compare ( $a, $b)
 Callback to sort extensions by type.
 
 execute ( $par)
 main()
 
 getCreditsForExtension ( $type, array $extension)
 Creates and formats a version line for a single extension.
 
 getEntryPointInfo ()
 Get the list of entry points and their URLs.
 
 listAuthors ( $authors, $extName, $extDir)
 Return a formatted unsorted list of authors.
 
 listToText ( $list, $sort=true)
 Convert an array of items into a list for display.
 
- Public Member Functions inherited from SpecialPage
 __construct ( $name='', $restriction='', $listed=true, $function=false, $file='', $includable=false)
 Default constructor for special pages Derivative classes should call this from their constructor Note that if the user does not have the required level, an error message will be displayed by the default execute() method, without the global function ever being called.
 
 addHelpLink ( $to, $overrideBaseUrl=false)
 Adds help link with an icon via page indicators.
 
 checkPermissions ()
 Checks if userCanExecute, and if not throws a PermissionsError.
 
 checkReadOnly ()
 If the wiki is currently in readonly mode, throws a ReadOnlyError.
 
 doesWrites ()
 Indicates whether this special page may perform database writes.
 
 getAuthority ()
 Shortcut to get the Authority executing this instance.
 
 getConfig ()
 Shortcut to get main config object.
 
 getContentLanguage ()
 Shortcut to get content language.
 
 getContext ()
 Gets the context this SpecialPage is executed in.
 
 getDescription ()
 Returns the name that goes in the \<h1\> in the special page itself, and also the name that will be listed in Special:Specialpages.
 
 getFinalGroupName ()
 Get the group that the special page belongs in on Special:SpecialPage Use this method, instead of getGroupName to allow customization of the group name from the wiki side.
 
 getFullTitle ()
 Return the full title, including $par.
 
 getLanguage ()
 Shortcut to get user's language.
 
 getLinkRenderer ()
 
 getLocalName ()
 Get the localised name of the special page.
 
 getName ()
 Get the name of this Special Page.
 
 getOutput ()
 Get the OutputPage being used for this instance.
 
 getPageTitle ( $subpage=false)
 Get a self-referential title object.
 
 getRequest ()
 Get the WebRequest being used for this instance.
 
 getRestriction ()
 Get the permission that a user must have to execute this page.
 
 getSkin ()
 Shortcut to get the skin being used for this instance.
 
 getUser ()
 Shortcut to get the User executing this instance.
 
 including ( $x=null)
 Whether the special page is being evaluated via transclusion.
 
 isCached ()
 Is this page cached? Expensive pages are cached or disabled in miser mode.
 
 isExpensive ()
 Is this page expensive (for some definition of expensive)? Expensive pages are disabled or cached in miser mode.
 
 isIncludable ()
 Whether it's allowed to transclude the special page via {{Special:Foo/params}}.
 
 isListed ()
 Whether this special page is listed in Special:SpecialPages.
 
 isRestricted ()
 Can be overridden by subclasses with more complicated permissions schemes.
 
 listed ( $x=null)
 Get or set whether this special page is listed in Special:SpecialPages.
 
 maxIncludeCacheTime ()
 How long to cache page when it is being included.
 
 msg ( $key,... $params)
 Wrapper around wfMessage that sets the current context.
 
 prefixSearchSubpages ( $search, $limit, $offset)
 Return an array of subpages beginning with $search that this special page will accept.
 
 requireLogin ( $reasonMsg='exception-nologin-text', $titleMsg='exception-nologin')
 If the user is not logged in, throws UserNotLoggedIn error.
 
 run ( $subPage)
 Entry point.
 
 setContentLanguage (Language $contentLanguage)
 Set content language.
 
 setContext ( $context)
 Sets the context this SpecialPage is executed in.
 
 setHookContainer (HookContainer $hookContainer)
 
 setLinkRenderer (LinkRenderer $linkRenderer)
 
 setListed ( $listed)
 Set whether this page is listed in Special:Specialpages, at run-time.
 
 setSpecialPageFactory (SpecialPageFactory $specialPageFactory)
 
 userCanExecute (User $user)
 Checks if the given user (identified by an object) can execute this special page (as defined by $mRestriction).
 

Static Public Member Functions

static arrayToString ( $list)
 Convert an array or object to a string for display.
 
static getCopyrightAndAuthorList ()
 Get the "MediaWiki is copyright 2001-20xx by lots of cool folks" text.
 
static getCredits (ExtensionRegistry $reg, Config $conf)
 
static getExtAuthorsFileName ( $extDir)
 Obtains the full path of an extensions AUTHORS or CREDITS file if one exists.
 
static getExtensionTypeName ( $type)
 Returns the internationalized name for an extension type.
 
static getExtensionTypes ()
 Returns an array with the base extension types.
 
static getExtLicenseFileName ( $extDir)
 Obtains the full path of an extensions COPYING or LICENSE file if one exists.
 
static getGitCurrentBranch ( $dir)
 
static getGitHeadSha1 ( $dir)
 
static getVersion ( $flags='', $lang=null)
 Return a string of the MediaWiki version with Git revision if available.
 
static getVersionLinked ()
 Return a wikitext-formatted string of the MediaWiki version with a link to the Git SHA1 of head if available.
 
- Static Public Member Functions inherited from SpecialPage
static getSafeTitleFor ( $name, $subpage=false)
 Get a localised Title object for a page name with a possibly unvalidated subpage.
 
static getTitleFor ( $name, $subpage=false, $fragment='')
 Get a localised Title object for a specified special page name If you don't need a full Title object, consider using TitleValue through getTitleValueFor() below.
 
static getTitleValueFor ( $name, $subpage=false, $fragment='')
 Get a localised TitleValue object for a specified special page name.
 

Protected Member Functions

 getExtensionCategory ( $type, $message, array $creditsGroup)
 Creates and returns the HTML for a single extension category.
 
 getExternalLibraries (array $credits)
 Generate an HTML table for external libraries that are installed.
 
 getGroupName ()
 Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-group-*' for valid names This method defaults to group 'other'.
 
 getParserFunctionHooks ()
 Obtains a list of installed parser function hooks and the associated H2 header.
 
 getParserTags ()
 Obtains a list of installed parser tags and the associated H2 header.
 
- Protected Member Functions inherited from SpecialPage
 addFeedLinks ( $params)
 Adds RSS/atom links.
 
 afterExecute ( $subPage)
 Gets called after.
 
 beforeExecute ( $subPage)
 Gets called before.
 
 buildPrevNextNavigation ( $offset, $limit, array $query=[], $atend=false, $subpage=false)
 Generate (prev x| next x) (20|50|100...) type links for paging.
 
 checkLoginSecurityLevel ( $level=null)
 Verifies that the user meets the security level, possibly reauthenticating them in the process.
 
 displayRestrictionError ()
 Output an error message telling the user what access level they have to have.
 
 getAuthManager ()
 
 getCacheTTL ()
 
 getHookContainer ()
 
 getHookRunner ()
 
 getLanguageConverter ()
 Shortcut to get language's converter.
 
 getLoginSecurityLevel ()
 Tells if the special page does something security-sensitive and needs extra defense against a stolen account (e.g.
 
 getRobotPolicy ()
 Return the robot policy.
 
 getSpecialPageFactory ()
 
 getSubpagesForPrefixSearch ()
 Return an array of subpages that this special page will accept for prefix searches.
 
 outputHeader ( $summaryMessageKey='')
 Outputs a summary message on top of special pages Per default the message key is the canonical name of the special page May be overridden, i.e.
 
 prefixSearchString ( $search, $limit, $offset, SearchEngineFactory $searchEngineFactory=null)
 Perform a regular substring search for prefixSearchSubpages.
 
 setAuthManager (AuthManager $authManager)
 Set the injected AuthManager from the special page constructor.
 
 setHeaders ()
 Sets headers - this should be called from the execute() method of all derived classes!
 
 setReauthPostData (array $data)
 Record preserved POST data after a reauthentication.
 
 useTransactionalTimeLimit ()
 Call wfTransactionalTimeLimit() if this request was POSTed.
 

Protected Attributes

string $coreId = ''
 The current rev id/SHA hash of MediaWiki core.
 
bool $firstExtOpened = false
 
- Protected Attributes inherited from SpecialPage
IContextSource $mContext
 Current request context.
 
bool $mIncludable
 Whether the special page can be included in an article.
 
bool $mIncluding
 Whether or not this special page is being included from an article.
 
string $mName
 The canonical name of this special page Also used for the default.
 
string $mRestriction
 Minimum user level required to access this page, or "" for anyone.
 

Static Protected Attributes

static string[] false $extensionTypes = false
 Lazy initialized key/value with message content.
 

Private Member Functions

 getExtensionCredits (array $credits)
 Generate wikitext showing the name, URL, author and description of each extension.
 
 getSkinCredits (array $credits)
 Generate wikitext showing the name, URL, author and description of each skin.
 
 getWgHooks ()
 Generate wikitext showing hooks in $wgHooks.
 
 IPInfo ()
 Get information about client's IP address.
 
 openExtType ( $text=null, $name=null)
 

Static Private Member Functions

static getMediaWikiCredits ()
 Returns wiki text showing the license information.
 
static getMWVersionLinked ()
 
static getSoftwareInformation ()
 Helper for self::softwareInformation().
 
static getVersionLinkedGit ()
 
static softwareInformation ()
 Returns HTML showing the third party software versions (apache, php, mysql).
 

Private Attributes

Parser $parser
 

Additional Inherited Members

- Static Protected Member Functions inherited from SpecialPage
static prefixSearchArray ( $search, $limit, array $subpages, $offset)
 Helper function for implementations of prefixSearchSubpages() that filter the values in memory (as opposed to making a query).
 

Detailed Description

Give information about the version of MediaWiki, PHP, the DB and extensions.

Definition at line 33 of file SpecialVersion.php.

Constructor & Destructor Documentation

◆ __construct()

SpecialVersion::__construct ( Parser  $parser)
Parameters
Parser$parser

Definition at line 56 of file SpecialVersion.php.

References $parser.

Member Function Documentation

◆ arrayToString()

static SpecialVersion::arrayToString (   $list)
static

Convert an array or object to a string for display.

Parameters
mixed$listWill convert an array to string if given and return the parameter unaltered otherwise
Returns
mixed

Definition at line 1168 of file SpecialVersion.php.

References wfMessage().

◆ compare()

SpecialVersion::compare (   $a,
  $b 
)

Callback to sort extensions by type.

Parameters
array$a
array$b
Returns
int

Definition at line 741 of file SpecialVersion.php.

◆ execute()

SpecialVersion::execute (   $par)

main()

Parameters
string | null$par

Reimplemented from SpecialPage.

Definition at line 80 of file SpecialVersion.php.

References $ext, $file, and $IP.

◆ getCopyrightAndAuthorList()

static SpecialVersion::getCopyrightAndAuthorList ( )
static

Get the "MediaWiki is copyright 2001-20xx by lots of cool folks" text.

Returns
string

Definition at line 228 of file SpecialVersion.php.

References $wgLang, and wfMessage().

Referenced by WebInstallerWelcome\execute().

◆ getCredits()

static SpecialVersion::getCredits ( ExtensionRegistry  $reg,
Config  $conf 
)
static
Since
1.35
Parameters
ExtensionRegistry$reg
Config$confFor additional entries from $wgExtensionCredits.
Returns
array[]
See also
$wgExtensionCredits

Definition at line 68 of file SpecialVersion.php.

Referenced by ApiQuerySiteinfo\appendExtensions(), and ApiBase\getModuleSourceInfo().

◆ getCreditsForExtension()

SpecialVersion::getCreditsForExtension (   $type,
array  $extension 
)

Creates and formats a version line for a single extension.

Information for five columns will be created. Parameters required in the $extension array for part rendering are indicated in ()

  • The name of (name), and URL link to (url), the extension
  • Official version number (version) and if available version control system revision (path), link, and date
  • If available the short name of the license (license-name) and a link to ((LICENSE)|(COPYING))(\.txt)? if it exists.
  • Description of extension (descriptionmsg or description)
  • List of authors (author) and link to a ((AUTHORS)|(CREDITS))(\.txt)? file if it exists
Parameters
string$typeCategory name of the extension
array$extension
Returns
string Raw HTML

Definition at line 763 of file SpecialVersion.php.

References $cache, $IP, $type, CACHE_ANYTHING, Linker\makeExternalLink(), and wfDebug().

◆ getEntryPointInfo()

SpecialVersion::getEntryPointInfo ( )

Get the list of entry points and their URLs.

Returns
string Wikitext

Definition at line 1215 of file SpecialVersion.php.

References PROTO_RELATIVE, wfExpandUrl(), and wfScript().

◆ getExtAuthorsFileName()

static SpecialVersion::getExtAuthorsFileName (   $extDir)
static

Obtains the full path of an extensions AUTHORS or CREDITS file if one exists.

Parameters
string$extDirPath to the extensions root directory
Since
1.23
Deprecated:
since 1.35 Use MediaWiki\ExtensionInfo::getAuthorsFileName()
Returns
bool|string False if no such file exists, otherwise returns a path to it.

Definition at line 1114 of file SpecialVersion.php.

References wfDeprecated().

◆ getExtensionCategory()

SpecialVersion::getExtensionCategory (   $type,
  $message,
array  $creditsGroup 
)
protected

Creates and returns the HTML for a single extension category.

Since
1.17
Parameters
string$type
string | null$message
array$creditsGroup
Returns
string

Definition at line 716 of file SpecialVersion.php.

References $type.

◆ getExtensionCredits()

SpecialVersion::getExtensionCredits ( array  $credits)
private

Generate wikitext showing the name, URL, author and description of each extension.

Parameters
array$credits
Returns
string Wikitext

Definition at line 456 of file SpecialVersion.php.

References $type.

◆ getExtensionTypeName()

static SpecialVersion::getExtensionTypeName (   $type)
static

Returns the internationalized name for an extension type.

Since
1.17
Parameters
string$type
Returns
string

Definition at line 444 of file SpecialVersion.php.

References $type.

◆ getExtensionTypes()

static SpecialVersion::getExtensionTypes ( )
static

Returns an array with the base extension types.

Type is stored as array key, the message as array value.

TODO: ideally this would return all extension types.

Since
1.17
Returns
string[]

Definition at line 415 of file SpecialVersion.php.

References wfMessage().

Referenced by WebInstallerOptions\execute().

◆ getExternalLibraries()

SpecialVersion::getExternalLibraries ( array  $credits)
protected

Generate an HTML table for external libraries that are installed.

Parameters
array$credits
Returns
string

Definition at line 535 of file SpecialVersion.php.

References $IP, $path, $type, and Linker\makeExternalLink().

◆ getExtLicenseFileName()

static SpecialVersion::getExtLicenseFileName (   $extDir)
static

Obtains the full path of an extensions COPYING or LICENSE file if one exists.

Parameters
string$extDirPath to the extensions root directory
Since
1.23
Deprecated:
since 1.35 Use MediaWiki\ExtensionInfo::getLicenseFileNames()
Returns
bool|string False if no such file exists, otherwise returns a path to it.

Definition at line 1131 of file SpecialVersion.php.

References wfDeprecated().

◆ getGitCurrentBranch()

static SpecialVersion::getGitCurrentBranch (   $dir)
static
Parameters
string$dirDirectory of the git checkout
Returns
bool|string Branch currently checked out

Definition at line 1206 of file SpecialVersion.php.

Referenced by ApiQuerySiteinfo\appendGeneralInfo().

◆ getGitHeadSha1()

static SpecialVersion::getGitHeadSha1 (   $dir)
static
Parameters
string$dirDirectory of the git checkout
Returns
bool|string Sha1 of commit HEAD points to

Definition at line 1196 of file SpecialVersion.php.

Referenced by ApiQuerySiteinfo\appendGeneralInfo().

◆ getGroupName()

SpecialVersion::getGroupName ( )
protected

Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-group-*' for valid names This method defaults to group 'other'.

Stability: stable
to override
Returns
string
Since
1.21

Reimplemented from SpecialPage.

Definition at line 1273 of file SpecialVersion.php.

◆ getMediaWikiCredits()

static SpecialVersion::getMediaWikiCredits ( )
staticprivate

Returns wiki text showing the license information.

Returns
string

Definition at line 204 of file SpecialVersion.php.

References wfMessage().

◆ getMWVersionLinked()

static SpecialVersion::getMWVersionLinked ( )
staticprivate
Returns
string

Definition at line 365 of file SpecialVersion.php.

References MW_VERSION.

◆ getParserFunctionHooks()

SpecialVersion::getParserFunctionHooks ( )
protected

Obtains a list of installed parser function hooks and the associated H2 header.

Returns
string HTML output

Definition at line 682 of file SpecialVersion.php.

References Linker\makeExternalLink().

◆ getParserTags()

SpecialVersion::getParserTags ( )
protected

Obtains a list of installed parser tags and the associated H2 header.

Returns
string HTML output

Definition at line 639 of file SpecialVersion.php.

References Linker\makeExternalLink().

◆ getSkinCredits()

SpecialVersion::getSkinCredits ( array  $credits)
private

Generate wikitext showing the name, URL, author and description of each skin.

Parameters
array$credits
Returns
string Wikitext

Definition at line 509 of file SpecialVersion.php.

◆ getSoftwareInformation()

static SpecialVersion::getSoftwareInformation ( )
staticprivate

Helper for self::softwareInformation().

Since
1.34
Returns
string[] Array of wikitext strings keyed by wikitext strings

Definition at line 266 of file SpecialVersion.php.

References $dbr, DB_REPLICA, and wfGetDB().

◆ getVersion()

static SpecialVersion::getVersion (   $flags = '',
  $lang = null 
)
static

Return a string of the MediaWiki version with Git revision if available.

Parameters
string$flags
Language | string | null$lang
Returns
mixed

Definition at line 322 of file SpecialVersion.php.

References $IP, $lang, MW_VERSION, and wfMessage().

Referenced by CoreMagicVariables\expand(), ApiHelp\getHelp(), and WikiStatsOutput\heading().

◆ getVersionLinked()

static SpecialVersion::getVersionLinked ( )
static

Return a wikitext-formatted string of the MediaWiki version with a link to the Git SHA1 of head if available.

The fallback is just MW_VERSION.

Returns
mixed

Definition at line 351 of file SpecialVersion.php.

References MW_VERSION.

◆ getVersionLinkedGit()

static SpecialVersion::getVersionLinkedGit ( )
staticprivate
Since
1.22 Includes the date of the Git HEAD commit
Returns
bool|string MW version and Git HEAD (SHA1 stripped to the first 7 chars) with link and date, or false on failure

Definition at line 381 of file SpecialVersion.php.

References $IP, and $wgLang.

◆ getWgHooks()

SpecialVersion::getWgHooks ( )
private

Generate wikitext showing hooks in $wgHooks.

Returns
string Wikitext

Definition at line 940 of file SpecialVersion.php.

References $wgHooks, and $wgSpecialVersionShowHooks.

◆ IPInfo()

SpecialVersion::IPInfo ( )
private

Get information about client's IP address.

Returns
string HTML fragment

Definition at line 1017 of file SpecialVersion.php.

◆ listAuthors()

SpecialVersion::listAuthors (   $authors,
  $extName,
  $extDir 
)

Return a formatted unsorted list of authors.

'And Others' If an item in the $authors array is '...' it is assumed to indicate an 'and others' string which will then be linked to an ((AUTHORS)|(CREDITS))(\.txt)? file if it exists in $dir.

Similarly an entry ending with ' ...]' is assumed to be a link to an 'and others' page.

If no '...' string variant is found, but an authors file is found an 'and others' will be added to the end of the credits.

Parameters
string | array$authors
string | bool$extNameName of the extension for link creation, false if no links should be created
string$extDirPath to the extension root directory
Returns
string HTML fragment

Definition at line 1044 of file SpecialVersion.php.

◆ listToText()

SpecialVersion::listToText (   $list,
  $sort = true 
)

Convert an array of items into a list for display.

Parameters
array$listList of elements to display
bool$sortWhether to sort the items in $list
Returns
string

Definition at line 1148 of file SpecialVersion.php.

◆ openExtType()

SpecialVersion::openExtType (   $text = null,
  $name = null 
)
private

Definition at line 971 of file SpecialVersion.php.

◆ softwareInformation()

static SpecialVersion::softwareInformation ( )
staticprivate

Returns HTML showing the third party software versions (apache, php, mysql).

Returns
string Wikitext table

Definition at line 293 of file SpecialVersion.php.

References wfMessage().

Member Data Documentation

◆ $coreId

string SpecialVersion::$coreId = ''
protected

The current rev id/SHA hash of MediaWiki core.

Definition at line 43 of file SpecialVersion.php.

◆ $extensionTypes

string [] false SpecialVersion::$extensionTypes = false
staticprotected

Lazy initialized key/value with message content.

Definition at line 48 of file SpecialVersion.php.

◆ $firstExtOpened

bool SpecialVersion::$firstExtOpened = false
protected

Definition at line 38 of file SpecialVersion.php.

◆ $parser

Parser SpecialVersion::$parser
private

Definition at line 51 of file SpecialVersion.php.

Referenced by __construct().


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