MediaWiki  master
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 ()
 
 compare ( $a, $b)
 Callback to sort extensions by type. More...
 
 execute ( $par)
 main() More...
 
 getCreditsForExtension ( $type, array $extension)
 Creates and formats a version line for a single extension. More...
 
 getEntryPointInfo ()
 Get the list of entry points and their URLs. More...
 
 getExtensionCredits ()
 Generate wikitext showing the name, URL, author and description of each extension. More...
 
 getSkinCredits ()
 Generate wikitext showing the name, URL, author and description of each skin. More...
 
 listAuthors ( $authors, $extName, $extDir)
 Return a formatted unsorted list of authors. More...
 
 listToText ( $list, $sort=true)
 Convert an array of items into a list for display. More...
 
- 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. More...
 
 addHelpLink ( $to, $overrideBaseUrl=false)
 Adds help link with an icon via page indicators. More...
 
 checkPermissions ()
 Checks if userCanExecute, and if not throws a PermissionsError. More...
 
 checkReadOnly ()
 If the wiki is currently in readonly mode, throws a ReadOnlyError. More...
 
 displayRestrictionError ()
 Output an error message telling the user what access level they have to have. More...
 
 doesWrites ()
 Indicates whether this special page may perform database writes. More...
 
 execute ( $subPage)
 Default execute method Checks user permissions. More...
 
 getConfig ()
 Shortcut to get main config object. More...
 
 getContext ()
 Gets the context this SpecialPage is executed in. More...
 
 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. More...
 
 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. More...
 
 getFullTitle ()
 Return the full title, including $par. More...
 
 getLanguage ()
 Shortcut to get user's language. More...
 
 getLinkRenderer ()
 
 getLocalName ()
 Get the localised name of the special page. More...
 
 getName ()
 Get the name of this Special Page. More...
 
 getOutput ()
 Get the OutputPage being used for this instance. More...
 
 getPageTitle ( $subpage=false)
 Get a self-referential title object. More...
 
 getRequest ()
 Get the WebRequest being used for this instance. More...
 
 getRestriction ()
 Get the permission that a user must have to execute this page. More...
 
 getSkin ()
 Shortcut to get the skin being used for this instance. More...
 
 getUser ()
 Shortcut to get the User executing this instance. More...
 
 including ( $x=null)
 Whether the special page is being evaluated via transclusion. More...
 
 isCached ()
 Is this page cached? Expensive pages are cached or disabled in miser mode. More...
 
 isExpensive ()
 Is this page expensive (for some definition of expensive)? Expensive pages are disabled or cached in miser mode. More...
 
 isIncludable ()
 Whether it's allowed to transclude the special page via {{Special:Foo/params}}. More...
 
 isListed ()
 Whether this special page is listed in Special:SpecialPages. More...
 
 isRestricted ()
 Can be overridden by subclasses with more complicated permissions schemes. More...
 
 listed ( $x=null)
 Get or set whether this special page is listed in Special:SpecialPages. More...
 
 maxIncludeCacheTime ()
 How long to cache page when it is being included. More...
 
 msg ( $key,... $params)
 Wrapper around wfMessage that sets the current context. More...
 
 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. More...
 
 prefixSearchSubpages ( $search, $limit, $offset)
 Return an array of subpages beginning with $search that this special page will accept. More...
 
 requireLogin ( $reasonMsg='exception-nologin-text', $titleMsg='exception-nologin')
 If the user is not logged in, throws UserNotLoggedIn error. More...
 
 run ( $subPage)
 Entry point. More...
 
 setContext ( $context)
 Sets the context this SpecialPage is executed in. More...
 
 setHeaders ()
 Sets headers - this should be called from the execute() method of all derived classes! More...
 
 setLinkRenderer (LinkRenderer $linkRenderer)
 
 setListed ( $listed)
 Set whether this page is listed in Special:Specialpages, at run-time. More...
 
 userCanExecute (User $user)
 Checks if the given user (identified by an object) can execute this special page (as defined by $mRestriction). More...
 

Static Public Member Functions

static arrayToString ( $list)
 Convert an array or object to a string for display. More...
 
static getCopyrightAndAuthorList ()
 Get the "MediaWiki is copyright 2001-20xx by lots of cool guys" text. More...
 
static getExtAuthorsFileName ( $extDir)
 Obtains the full path of an extensions authors or credits file if one exists. More...
 
static getExtensionTypeName ( $type)
 Returns the internationalized name for an extension type. More...
 
static getExtensionTypes ()
 Returns an array with the base extension types. More...
 
static getExtLicenseFileName ( $extDir)
 Obtains the full path of an extensions copying or license file if one exists. More...
 
static getGitCurrentBranch ( $dir)
 
static getGitHeadSha1 ( $dir)
 
static getSoftwareInformation ()
 
static getVersion ( $flags='', $lang=null)
 Return a string of the MediaWiki version with Git revision if available. More...
 
static getVersionLinked ()
 Return a wikitext-formatted string of the MediaWiki version with a link to the Git SHA1 of head if available. More...
 
static softwareInformation ()
 Returns HTML showing the third party software versions (apache, php, mysql). More...
 
- 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. More...
 
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. More...
 
static getTitleValueFor ( $name, $subpage=false, $fragment='')
 Get a localised TitleValue object for a specified special page name. More...
 

Protected Member Functions

 getExtensionCategory ( $type, $message)
 Creates and returns the HTML for a single extension category. More...
 
 getExternalLibraries ()
 Generate an HTML table for external libraries that are installed. More...
 
 getGroupName ()
 
 getParserFunctionHooks ()
 Obtains a list of installed parser function hooks and the associated H2 header. More...
 
 getParserTags ()
 Obtains a list of installed parser tags and the associated H2 header. More...
 
- Protected Member Functions inherited from SpecialPage
 addFeedLinks ( $params)
 Adds RSS/atom links. More...
 
 afterExecute ( $subPage)
 Gets called after. More...
 
 beforeExecute ( $subPage)
 Gets called before. More...
 
 buildPrevNextNavigation ( $offset, $limit, array $query=[], $atend=false, $subpage=false)
 Generate (prev x| next x) (20|50|100...) type links for paging. More...
 
 checkLoginSecurityLevel ( $level=null)
 Verifies that the user meets the security level, possibly reauthenticating them in the process. More...
 
 getCacheTTL ()
 
 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'. More...
 
 getLoginSecurityLevel ()
 Tells if the special page does something security-sensitive and needs extra defense against a stolen account (e.g. More...
 
 getRobotPolicy ()
 Return the robot policy. More...
 
 getSubpagesForPrefixSearch ()
 Return an array of subpages that this special page will accept for prefix searches. More...
 
 prefixSearchString ( $search, $limit, $offset)
 Perform a regular substring search for prefixSearchSubpages. More...
 
 setReauthPostData (array $data)
 Record preserved POST data after a reauthentication. More...
 
 useTransactionalTimeLimit ()
 Call wfTransactionalTimeLimit() if this request was POSTed. More...
 

Protected Attributes

string $coreId = ''
 The current rev id/SHA hash of MediaWiki core. More...
 
bool $firstExtOpened = false
 
- Protected Attributes inherited from SpecialPage
IContextSource $mContext
 Current request context. More...
 
 $mIncludable
 
 $mIncluding
 
 $mName
 
 $mRestriction
 

Static Protected Attributes

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

Private Member Functions

 getWgHooks ()
 Generate wikitext showing hooks in $wgHooks. More...
 
 IPInfo ()
 Get information about client's IP address. More...
 
 openExtType ( $text=null, $name=null)
 

Static Private Member Functions

static getMediaWikiCredits ()
 Returns wiki text showing the license information. More...
 
static getVersionLinkedGit ()
 
static getwgVersionLinked ()
 

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). More...
 

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 ( )

Definition at line 50 of file SpecialVersion.php.

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 1124 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 676 of file SpecialVersion.php.

References SpecialPage\getLanguage().

◆ execute()

◆ getCopyrightAndAuthorList()

static SpecialVersion::getCopyrightAndAuthorList ( )
static

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

Returns
string

Definition at line 196 of file SpecialVersion.php.

References $wgLang, MWTimestamp\getLocalInstance(), and wfMessage().

Referenced by WebInstallerWelcome\execute().

◆ 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 698 of file SpecialVersion.php.

References $cache, $IP, $type, CACHE_ANYTHING, Html\closeElement(), Html\element(), Sanitizer\escapeIdForAttribute(), getExtLicenseFileName(), SpecialPage\getLanguage(), SpecialPage\getLinkRenderer(), SpecialPage\getOutput(), SpecialPage\getPageTitle(), listAuthors(), Linker\makeExternalLink(), SpecialPage\msg(), Html\openElement(), Html\rawElement(), wfDebug(), and wfGetCache().

Referenced by getExtensionCategory().

◆ getEntryPointInfo()

SpecialVersion::getEntryPointInfo ( )

Get the list of entry points and their URLs.

Returns
string Wikitext

Definition at line 1171 of file SpecialVersion.php.

References Html\closeElement(), Html\element(), SpecialPage\getConfig(), SpecialPage\getLanguage(), SpecialPage\msg(), Html\openElement(), PROTO_RELATIVE, Html\rawElement(), wfExpandUrl(), and wfScript().

Referenced by execute().

◆ 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
Returns
bool|string False if no such file exists, otherwise returns a path to it.

Definition at line 1049 of file SpecialVersion.php.

References $file.

Referenced by ApiQuerySiteinfo\appendExtensions(), execute(), and listAuthors().

◆ getExtensionCategory()

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

Creates and returns the HTML for a single extension category.

Since
1.17
Parameters
string$type
string$message
Returns
string

Definition at line 651 of file SpecialVersion.php.

References $type, SpecialPage\getConfig(), getCreditsForExtension(), and openExtType().

Referenced by getExtensionCredits(), and getSkinCredits().

◆ getExtensionCredits()

SpecialVersion::getExtensionCredits ( )

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

Returns
string Wikitext

Definition at line 425 of file SpecialVersion.php.

References $extensionTypes, $type, Xml\closeElement(), Xml\element(), SpecialPage\getConfig(), getExtensionCategory(), SpecialPage\msg(), and Xml\openElement().

Referenced by execute().

◆ 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 414 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 385 of file SpecialVersion.php.

References Hooks\run(), and wfMessage().

Referenced by WebInstallerOptions\execute().

◆ getExternalLibraries()

SpecialVersion::getExternalLibraries ( )
protected

Generate an HTML table for external libraries that are installed.

Returns
string

Definition at line 506 of file SpecialVersion.php.

References $IP, $path, Html\closeElement(), Html\element(), listAuthors(), listToText(), Linker\makeExternalLink(), SpecialPage\msg(), Html\openElement(), and Html\rawElement().

Referenced by execute().

◆ 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
Returns
bool|string False if no such file exists, otherwise returns a path to it.

Definition at line 1078 of file SpecialVersion.php.

References $file.

Referenced by ApiQuerySiteinfo\appendExtensions(), execute(), getCreditsForExtension(), ApiHelp\getHelpInternal(), and ApiParamInfo\getModuleInfo().

◆ getGitCurrentBranch()

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

Definition at line 1162 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 1152 of file SpecialVersion.php.

Referenced by ApiQuerySiteinfo\appendGeneralInfo().

◆ getGroupName()

SpecialVersion::getGroupName ( )
protected

Definition at line 1229 of file SpecialVersion.php.

◆ getMediaWikiCredits()

static SpecialVersion::getMediaWikiCredits ( )
staticprivate

Returns wiki text showing the license information.

Returns
string

Definition at line 172 of file SpecialVersion.php.

References Xml\element(), and wfMessage().

Referenced by execute().

◆ getParserFunctionHooks()

SpecialVersion::getParserFunctionHooks ( )
protected

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

Returns
string HTML output

Definition at line 617 of file SpecialVersion.php.

References listToText(), Linker\makeExternalLink(), SpecialPage\msg(), and Html\rawElement().

Referenced by execute().

◆ getParserTags()

SpecialVersion::getParserTags ( )
protected

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

Returns
string HTML output

Definition at line 575 of file SpecialVersion.php.

References Html\element(), listToText(), Linker\makeExternalLink(), SpecialPage\msg(), and Html\rawElement().

Referenced by execute().

◆ getSkinCredits()

SpecialVersion::getSkinCredits ( )

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

Returns
string Wikitext

Definition at line 480 of file SpecialVersion.php.

References $wgExtensionCredits, Xml\closeElement(), Xml\element(), getExtensionCategory(), SpecialPage\msg(), and Xml\openElement().

Referenced by execute().

◆ getSoftwareInformation()

static SpecialVersion::getSoftwareInformation ( )
static
Since
1.34
Returns
array

Definition at line 233 of file SpecialVersion.php.

References $dbr, DB_REPLICA, Hooks\run(), 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 289 of file SpecialVersion.php.

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

Referenced by ApiHelp\getHelp(), Parser\getVariableValue(), 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 $wgVersion

Returns
mixed

Definition at line 318 of file SpecialVersion.php.

References $wgVersion.

◆ getVersionLinkedGit()

static SpecialVersion::getVersionLinkedGit ( )
staticprivate
Since
1.22 Returns the HEAD date in addition to the sha1 and link
Returns
bool|string Global wgVersion + HEAD sha1 stripped to the first 7 chars with link and date, or false on failure

Definition at line 351 of file SpecialVersion.php.

References $IP, $wgLang, and Html\element().

◆ getWgHooks()

SpecialVersion::getWgHooks ( )
private

Generate wikitext showing hooks in $wgHooks.

Returns
string Wikitext

Definition at line 877 of file SpecialVersion.php.

References $wgHooks, $wgSpecialVersionShowHooks, Html\closeElement(), Html\element(), listToText(), SpecialPage\msg(), and Html\openElement().

Referenced by execute().

◆ getwgVersionLinked()

static SpecialVersion::getwgVersionLinked ( )
staticprivate
Returns
string

Definition at line 334 of file SpecialVersion.php.

References $wgVersion, and Hooks\run().

◆ IPInfo()

SpecialVersion::IPInfo ( )
private

Get information about client's IP address.

Returns
string HTML fragment

Definition at line 953 of file SpecialVersion.php.

References SpecialPage\getRequest().

Referenced by execute().

◆ 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 980 of file SpecialVersion.php.

References SpecialPage\$linkRenderer, getExtAuthorsFileName(), SpecialPage\getLinkRenderer(), SpecialPage\getOutput(), SpecialPage\getPageTitle(), listToText(), and SpecialPage\msg().

Referenced by getCreditsForExtension(), and getExternalLibraries().

◆ 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 1104 of file SpecialVersion.php.

References $sort, and SpecialPage\getLanguage().

Referenced by getExternalLibraries(), getParserFunctionHooks(), getParserTags(), getWgHooks(), and listAuthors().

◆ openExtType()

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

◆ softwareInformation()

static SpecialVersion::softwareInformation ( )
static

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

Returns
string HTML table

Definition at line 260 of file SpecialVersion.php.

References Xml\closeElement(), Xml\element(), Xml\openElement(), and wfMessage().

Referenced by execute().

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.

Referenced by getExtensionCredits().

◆ $firstExtOpened

bool SpecialVersion::$firstExtOpened = false
protected

Definition at line 38 of file SpecialVersion.php.


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