jenkins-bot has submitted this change and it was merged.

Change subject: Provide a ResourceLoader module for language names
......................................................................


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
---
M includes/AutoLoader.php
A includes/resourceloader/ResourceLoaderLanguageNamesModule.php
M resources/Resources.php
3 files changed, 83 insertions(+), 0 deletions(-)

Approvals:
  Krinkle: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/AutoLoader.php b/includes/AutoLoader.php
index d3aabfe..2931827 100644
--- a/includes/AutoLoader.php
+++ b/includes/AutoLoader.php
@@ -867,6 +867,8 @@
        '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 0000000..73b6ea7
--- /dev/null
+++ b/includes/resourceloader/ResourceLoaderLanguageNamesModule.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Resource loader module for providing language names.
+ *
+ * By default these names will be autonyms however other extensions may
+ * provided language names in the context language (e.g. cldr extension)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @author Ed Sanders
+ * @author Trevor Parscal
+ */
+
+/**
+ * ResourceLoader module for populating language specific data.
+ */
+class ResourceLoaderLanguageNamesModule extends ResourceLoaderModule {
+
+       protected $targets = array( 'desktop', 'mobile' );
+
+
+       /**
+        * @param $context ResourceLoaderContext
+        * @return array
+        */
+       protected function getData( ResourceLoaderContext $context ) {
+               return Language::fetchLanguageNames(
+                       $context->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 a3c427e..7bb64f0 100644
--- a/resources/Resources.php
+++ b/resources/Resources.php
@@ -1062,6 +1062,8 @@
                )
        ),
 
+       'mediawiki.language.names' => array( 'class' => 
'ResourceLoaderLanguageNamesModule' ),
+
        /* MediaWiki Libs */
 
        'mediawiki.libs.jpegmeta' => array(

-- 
To view, visit https://gerrit.wikimedia.org/r/129615
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I63402b1e7c9194f68bccddd3eb0ba47d1e59a23d
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Esanders <esand...@wikimedia.org>
Gerrit-Reviewer: Divec <da...@sheetmusic.org.uk>
Gerrit-Reviewer: Esanders <esand...@wikimedia.org>
Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net>
Gerrit-Reviewer: Krinkle <krinklem...@gmail.com>
Gerrit-Reviewer: Nikerabbit <niklas.laxst...@gmail.com>
Gerrit-Reviewer: Santhosh <santhosh.thottin...@gmail.com>
Gerrit-Reviewer: Trevor Parscal <tpars...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to