'ContentHandlers',
'ConfigRegistry',
'RateLimits',
- 'ParserTestFiles',
'RecentChangesFlags',
+ 'MediaHandlers',
'ExtensionFunctions',
'ExtensionEntryPointListFiles',
'SpecialPages',
'APIMetaModules',
'APIPropModules',
'APIListModules',
+ 'ValidSkinNames',
);
/**
*/
protected static $creditsAttributes = array(
'name',
+ 'namemsg',
'author',
'version',
'url',
$this->extractMessagesDirs( $dir, $info );
$this->extractNamespaces( $info );
$this->extractResourceLoaderModules( $dir, $info );
+ $this->extractParserTestFiles( $dir, $info );
if ( isset( $info['callback'] ) ) {
$this->callbacks[] = $info['callback'];
$this->processed[] = 'callback';
$defaultPaths['localBasePath'] = "$dir/{$defaultPaths['localBasePath']}";
}
- if ( isset( $info['ResourceModules'] ) ) {
- foreach ( $info['ResourceModules'] as $name => $data ) {
- if ( isset( $data['localBasePath'] ) ) {
- $data['localBasePath'] = "$dir/{$data['localBasePath']}";
+ foreach ( array( 'ResourceModules', 'ResourceModuleSkinStyles' ) as $setting ) {
+ if ( isset( $info[$setting] ) ) {
+ foreach ( $info[$setting] as $name => $data ) {
+ if ( isset( $data['localBasePath'] ) ) {
+ $data['localBasePath'] = "$dir/{$data['localBasePath']}";
+ }
+ if ( $defaultPaths ) {
+ $data += $defaultPaths;
+ }
+ $this->globals["wg$setting"][$name] = $data;
}
- if ( $defaultPaths ) {
- $data += $defaultPaths;
- }
- $this->globals['wgResourceModules'][$name] = $data;
}
}
}
}
}
+ protected function extractParserTestFiles( $dir, array $info ) {
+ if ( isset( $info['ParserTestFiles'] ) ) {
+ foreach ( $info['ParserTestFiles'] as $path ) {
+ $this->globals['wgParserTestFiles'][] = "$dir/$path";
+ }
+ $this->processed[] = 'ParserTestFiles';
+ }
+ }
+
/**
* @param string $name
* @param mixed $value