From aa9a3be1e6267a1d3fa4c106de4c54033fec9528 Mon Sep 17 00:00:00 2001 From: Ed Sanders Date: Thu, 24 Apr 2014 16:51:56 -0700 Subject: [PATCH] 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 --- includes/AutoLoader.php | 2 + .../ResourceLoaderLanguageNamesModule.php | 79 +++++++++++++++++++ resources/Resources.php | 2 + 3 files changed, 83 insertions(+) create mode 100644 includes/resourceloader/ResourceLoaderLanguageNamesModule.php 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( -- 2.20.1