1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
<?php
/**
* Provides access to MediaWiki's version without requiring MediaWiki (or anything else)
* being loaded first.
*
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
*/
class MediaWikiVersionFetcher {
/**
* Returns the MediaWiki version, in the format used by MediaWiki's wgVersion global.
*
* @return string
* @throws RuntimeException
*/
public function fetchVersion() {
$defaultSettings = file_get_contents( __DIR__ . '/DefaultSettings.php' );
$matches = [];
preg_match( "/wgVersion = '([0-9a-zA-Z\.\-]+)';/", $defaultSettings, $matches );
if ( count( $matches ) !== 2 ) {
throw new RuntimeException( 'Could not extract the MediaWiki version from DefaultSettings.php' );
}
return $matches[1];
}
}
|