From: Ed Sanders Date: Thu, 24 Apr 2014 23:51:56 +0000 (-0700) Subject: Provide a ResourceLoader module for language names X-Git-Tag: 1.31.0-rc.0~15943^2 X-Git-Url: http://git.cyclocoop.org/%22.%28%24lien.?a=commitdiff_plain;h=aa9a3be1e6267a1d3fa4c106de4c54033fec9528;p=lhc%2Fweb%2Fwiklou.git Provide a ResourceLoader module for language names These will be autonyms by default, but localised language names when the cldr extension is installed. Change-Id: I63402b1e7c9194f68bccddd3eb0ba47d1e59a23d --- diff --git a/includes/AutoLoader.php b/includes/AutoLoader.php index d3aabfe050..2931827907 100644 --- a/includes/AutoLoader.php +++ b/includes/AutoLoader.php @@ -867,6 +867,8 @@ $wgAutoloadLocalClasses = array( 'ResourceLoaderUserTokensModule' => 'includes/resourceloader/ResourceLoaderUserTokensModule.php', 'ResourceLoaderLanguageDataModule' => 'includes/resourceloader/ResourceLoaderLanguageDataModule.php', + 'ResourceLoaderLanguageNamesModule' => + 'includes/resourceloader/ResourceLoaderLanguageNamesModule.php', 'ResourceLoaderWikiModule' => 'includes/resourceloader/ResourceLoaderWikiModule.php', # includes/revisiondelete diff --git a/includes/resourceloader/ResourceLoaderLanguageNamesModule.php b/includes/resourceloader/ResourceLoaderLanguageNamesModule.php new file mode 100644 index 0000000000..73b6ea7da8 --- /dev/null +++ b/includes/resourceloader/ResourceLoaderLanguageNamesModule.php @@ -0,0 +1,79 @@ +getLanguage(), + 'all' + ); + } + + /** + * @param $context ResourceLoaderContext + * @return string JavaScript code + */ + public function getScript( ResourceLoaderContext $context ) { + return Xml::encodeJsCall( 'mw.language.setData', array( + $context->getLanguage(), + 'languageNames', + $this->getData( $context ) + ) ); + } + + public function getDependencies() { + return array( 'mediawiki.language.init' ); + } + + /** + * @param ResourceLoaderContext $context + * @return int UNIX timestamp + */ + public function getModifiedTime( ResourceLoaderContext $context ) { + return max( 1, $this->getHashMtime( $context ) ); + } + + /** + * @param ResourceLoaderContext $context + * @return string Hash + */ + public function getModifiedHash( ResourceLoaderContext $context ) { + return md5( serialize( $this->getData( $context ) ) ); + } + +} diff --git a/resources/Resources.php b/resources/Resources.php index a3c427e0d5..7bb64f02ce 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -1062,6 +1062,8 @@ return array( ) ), + 'mediawiki.language.names' => array( 'class' => 'ResourceLoaderLanguageNamesModule' ), + /* MediaWiki Libs */ 'mediawiki.libs.jpegmeta' => array(