Make a hidden form field to keep the language code
authorKunal Grover <kunalgrover05@gmail.com>
Sun, 20 Jul 2014 13:55:20 +0000 (19:25 +0530)
committerKunal Grover <kunalgrover05@gmail.com>
Sun, 20 Jul 2014 13:58:21 +0000 (19:28 +0530)
Becomes much easier to implement the ULS this way

Change-Id: I7fdcd2c6b43a0b2a6a3ba19588d11fd76619d20c

includes/specials/SpecialPageLanguage.php
resources/src/mediawiki.special/mediawiki.special.pageLanguage.js

index a432f10..3fe66b5 100644 (file)
@@ -75,7 +75,7 @@ class SpecialPageLanguage extends FormSpecialPage {
                        $options["$code - $name"] = $code;
                }
 
-               $page['language'] = array(
+               $page['languageSelector'] = array(
                        'id' => 'mw-pl-languageselector',
                        'type' => 'select',
                        'options' => $options,
@@ -83,6 +83,12 @@ class SpecialPageLanguage extends FormSpecialPage {
                        'default' => $wgLanguageCode
                );
 
+               $page['language'] = array(
+                       'id' => 'mw-pl-languagevalue',
+                       'type' => 'hidden',
+                       'default' => $wgLanguageCode
+               );
+
                return $page;
        }
 
index ba7f734..f27518a 100644 (file)
@@ -1,9 +1,15 @@
 ( function ( $ ) {
        $( document ).ready( function () {
 
-               // Select the 'Language select' option if user is trying to select language
                $( '#mw-pl-languageselector' ).on( 'click', function () {
+                       var langCode;
+
+                       // Select the 'Language select' option if user is trying to select language
                        $( '#mw-pl-options-2' ).prop( 'checked', true );
+
+                       // Get the language code in the hidden form field
+                       langCode =  $( '#mw-pl-languageselector' ).val();
+                       $( '#mw-pl-languagevalue' ).val( langCode );
                } );
        } );
 } ( jQuery ) );