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

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

Static Protected Attributes

static $extensionTypes = false
 

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 43 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 1103 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 675 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 189 of file SpecialVersion.php.

References $wgLang, format, MWTimestamp\getLocalInstance(), text, 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 697 of file SpecialVersion.php.

References $cache, $html, $IP, $out, $type, CACHE_ANYTHING, Html\closeElement(), Html\element(), Sanitizer\escapeIdForAttribute(), getExtLicenseFileName(), SpecialPage\getLanguage(), SpecialPage\getLinkRenderer(), SpecialPage\getOutput(), SpecialPage\getPageTitle(), list, listAuthors(), Linker\makeExternalLink(), SpecialPage\msg(), null, 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 1150 of file SpecialVersion.php.

References $out, $value, as, Html\closeElement(), Html\element(), SpecialPage\getConfig(), SpecialPage\getLanguage(), SpecialPage\msg(), Html\openElement(), plain, PROTO_RELATIVE, Html\rawElement(), text, 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 1028 of file SpecialVersion.php.

References $file, and as.

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

References $out, $type, as, 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 424 of file SpecialVersion.php.

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

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 413 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
array

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

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

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

References $file, and as.

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 1141 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 1131 of file SpecialVersion.php.

Referenced by ApiQuerySiteinfo\appendGeneralInfo().

◆ getGroupName()

SpecialVersion::getGroupName ( )
protected

Definition at line 1208 of file SpecialVersion.php.

◆ getMediaWikiCredits()

static SpecialVersion::getMediaWikiCredits ( )
staticprivate

Returns wiki text showing the license information.

Returns
string

Definition at line 165 of file SpecialVersion.php.

References $ret, Xml\element(), text, 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 616 of file SpecialVersion.php.

References $out, 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 574 of file SpecialVersion.php.

References $out, $value, 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 479 of file SpecialVersion.php.

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

Referenced by execute().

◆ getSoftwareInformation()

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

Definition at line 226 of file SpecialVersion.php.

References $dbr, DB_REPLICA, Hooks\run(), wfGetDB(), and wfIsHHVM().

Referenced by UpdateMediaWiki\execute().

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

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

Referenced by ParserTestsMaintenance\execute(), 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 317 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 350 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 876 of file SpecialVersion.php.

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

Referenced by execute().

◆ getwgVersionLinked()

static SpecialVersion::getwgVersionLinked ( )
staticprivate
Returns
string

Definition at line 333 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 952 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 979 of file SpecialVersion.php.

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

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 1083 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 259 of file SpecialVersion.php.

References $name, $out, as, Xml\closeElement(), Xml\element(), Xml\openElement(), text, and wfMessage().

Referenced by execute().

Member Data Documentation

◆ $coreId

SpecialVersion::$coreId = ''
protected

Stores the current rev id/SHA hash of MediaWiki core.

Definition at line 39 of file SpecialVersion.php.

◆ $extensionTypes

SpecialVersion::$extensionTypes = false
staticprotected

Definition at line 41 of file SpecialVersion.php.

Referenced by getExtensionCredits().

◆ $firstExtOpened

SpecialVersion::$firstExtOpened = false
protected

Definition at line 34 of file SpecialVersion.php.


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