* @param string|null $par
*/
public function execute( $par ) {
- global $IP, $wgExtensionCredits;
+ global $IP;
+ $config = $this->getConfig();
+ $extensionCredits = $config->get( 'ExtensionCredits' );
$this->setHeaders();
$this->outputHeader();
if ( isset( $parts[1] ) ) {
$extName = str_replace( '_', ' ', $parts[1] );
// Find it!
- foreach ( $wgExtensionCredits as $group => $extensions ) {
+ foreach ( $extensionCredits as $group => $extensions ) {
foreach ( $extensions as $ext ) {
if ( isset( $ext['name'] ) && ( $ext['name'] === $extName ) ) {
$extNode = &$ext;
}
/**
- * Returns wiki text showing the third party software versions (apache, php, mysql).
+ * @since 1.34
*
- * @return string
+ * @return array
*/
- public static function softwareInformation() {
+ public static function getSoftwareInformation() {
$dbr = wfGetDB( DB_REPLICA );
// Put the software in an array of form 'name' => 'version'. All messages should
// be loaded here, so feel free to use wfMessage in the 'name'. Raw HTML or
// wikimarkup can be used.
- $software = [];
- $software['[https://www.mediawiki.org/ MediaWiki]'] = self::getVersionLinked();
+ $software = [
+ '[https://www.mediawiki.org/ MediaWiki]' => self::getVersionLinked()
+ ];
+
if ( wfIsHHVM() ) {
$software['[https://hhvm.com/ HHVM]'] = HHVM_VERSION . " (" . PHP_SAPI . ")";
} else {
$software['[https://php.net/ PHP]'] = PHP_VERSION . " (" . PHP_SAPI . ")";
}
+
$software[$dbr->getSoftwareLink()] = $dbr->getServerInfo();
if ( defined( 'INTL_ICU_VERSION' ) ) {
// Allow a hook to add/remove items.
Hooks::run( 'SoftwareInfo', [ &$software ] );
+ return $software;
+ }
+
+ /**
+ * Returns HTML showing the third party software versions (apache, php, mysql).
+ *
+ * @return string HTML table
+ */
+ public static function softwareInformation() {
$out = Xml::element(
'h2',
[ 'id' => 'mw-version-software' ],
wfMessage( 'version-software' )->text()
) .
- Xml::openElement( 'table', [ 'class' => 'wikitable plainlinks', 'id' => 'sv-software' ] ) .
- "<tr>
- <th>" . wfMessage( 'version-software-product' )->text() . "</th>
- <th>" . wfMessage( 'version-software-version' )->text() . "</th>
- </tr>\n";
+ Xml::openElement( 'table', [ 'class' => 'wikitable plainlinks', 'id' => 'sv-software' ] ) .
+ "<tr>
+ <th>" . wfMessage( 'version-software-product' )->text() . "</th>
+ <th>" . wfMessage( 'version-software-version' )->text() . "</th>
+ </tr>\n";
- foreach ( $software as $name => $version ) {
+ foreach ( self::getSoftwareInformation() as $name => $version ) {
$out .= "<tr>
<td>" . $name . "</td>
<td dir=\"ltr\">" . $version . "</td>
* @return string Wikitext
*/
public function getExtensionCredits() {
- global $wgExtensionCredits;
+ $config = $this->getConfig();
+ $extensionCredits = $config->get( 'ExtensionCredits' );
if (
- count( $wgExtensionCredits ) === 0 ||
+ count( $extensionCredits ) === 0 ||
// Skins are displayed separately, see getSkinCredits()
- ( count( $wgExtensionCredits ) === 1 && isset( $wgExtensionCredits['skin'] ) )
+ ( count( $extensionCredits ) === 1 && isset( $extensionCredits['skin'] ) )
) {
return '';
}
Xml::openElement( 'table', [ 'class' => 'wikitable plainlinks', 'id' => 'sv-ext' ] );
// Make sure the 'other' type is set to an array.
- if ( !array_key_exists( 'other', $wgExtensionCredits ) ) {
- $wgExtensionCredits['other'] = [];
+ if ( !array_key_exists( 'other', $extensionCredits ) ) {
+ $extensionCredits['other'] = [];
}
// Find all extensions that do not have a valid type and give them the type 'other'.
- foreach ( $wgExtensionCredits as $type => $extensions ) {
+ foreach ( $extensionCredits as $type => $extensions ) {
if ( !array_key_exists( $type, $extensionTypes ) ) {
- $wgExtensionCredits['other'] = array_merge( $wgExtensionCredits['other'], $extensions );
+ $extensionCredits['other'] = array_merge( $extensionCredits['other'], $extensions );
}
}
* @return string
*/
protected function getExtensionCategory( $type, $message ) {
- global $wgExtensionCredits;
+ $config = $this->getConfig();
+ $extensionCredits = $config->get( 'ExtensionCredits' );
$out = '';
- if ( array_key_exists( $type, $wgExtensionCredits ) && count( $wgExtensionCredits[$type] ) > 0 ) {
+ if ( array_key_exists( $type, $extensionCredits ) && count( $extensionCredits[$type] ) > 0 ) {
$out .= $this->openExtType( $message, 'credits-' . $type );
- usort( $wgExtensionCredits[$type], [ $this, 'compare' ] );
+ usort( $extensionCredits[$type], [ $this, 'compare' ] );
- foreach ( $wgExtensionCredits[$type] as $extension ) {
+ foreach ( $extensionCredits[$type] as $extension ) {
$out .= $this->getCreditsForExtension( $type, $extension );
}
}
}
// ... and generate the description; which can be a parameterized l10n message
- // in the form array( <msgname>, <parameter>, <parameter>... ) or just a straight
+ // in the form [ <msgname>, <parameter>, <parameter>... ] or just a straight
// up string
if ( isset( $extension['descriptionmsg'] ) ) {
// Localized description of extension
$ret[] = Html::closeElement( 'table' );
return implode( "\n", $ret );
- } else {
- return '';
}
+
+ return '';
}
private function openExtType( $text = null, $name = null ) {
* @return string Wikitext
*/
public function getEntryPointInfo() {
- global $wgArticlePath, $wgScriptPath;
- $scriptPath = $wgScriptPath ?: "/";
+ $config = $this->getConfig();
+ $scriptPath = $config->get( 'ScriptPath' ) ?: '/';
+
$entryPoints = [
- 'version-entrypoints-articlepath' => $wgArticlePath,
+ 'version-entrypoints-articlepath' => $config->get( 'ArticlePath' ),
'version-entrypoints-scriptpath' => $scriptPath,
'version-entrypoints-index-php' => wfScript( 'index' ),
'version-entrypoints-api-php' => wfScript( 'api' ),