http://www.mediawiki.org/wiki/Special:Code/MediaWiki/84597
Revision: 84597
Author: junaidpv
Date: 2011-03-23 15:14:44 +0000 (Wed, 23 Mar 2011)
Log Message:
-----------
Narayam: Add a checkbox under 'Advanced options' section of 'Editing' tab
toallow user to disable Narayam IME.
Modified Paths:
--------------
trunk/extensions/Narayam/Narayam.hooks.php
trunk/extensions/Narayam/Narayam.i18n.php
trunk/extensions/Narayam/Narayam.php
Modified: trunk/extensions/Narayam/Narayam.hooks.php
===================================================================
--- trunk/extensions/Narayam/Narayam.hooks.php 2011-03-23 14:52:10 UTC (rev
84596)
+++ trunk/extensions/Narayam/Narayam.hooks.php 2011-03-23 15:14:44 UTC (rev
84597)
@@ -1,32 +1,50 @@
<?php
+
/**
* Hooks for Narayam extension
* @file
* @ingroup Extensions
*/
class NarayamHooks {
- public static function addModules( $out, $skin ) {
- $schemes = array_values( self::getSchemes () );
- if ( count( $schemes ) ) {
- $out->addModules( $schemes );
- $out->addModules( 'ext.narayam' );
+
+ protected static $disabled = false;
+
+ public static function addModules($out, $skin) {
+ global $wgUser;
+ if ($wgUser->getOption('narayamDisable')) {
+ // User disabled Narayam
+ return true;
}
+ $schemes = array_values(self::getSchemes ());
+ if (count($schemes)) {
+ $out->addModules($schemes);
+ $out->addModules('ext.narayam');
+ }
return true;
}
-
- public static function addConfig( &$vars ) {
- global $wgNarayamEnabledByDefault, $wgNarayamShortcutKey;
+
+ public static function addConfig(&$vars) {
+ global $wgNarayamEnabledByDefault, $wgNarayamShortcutKey,
$wgUser;
+ if ($wgUser->getOption('narayamDisable')) {
+ // User disabled Narayam
+ return true;
+ }
$vars['wgNarayamEnabledByDefault'] = $wgNarayamEnabledByDefault;
$vars['wgNarayamShortcutKey'] = $wgNarayamShortcutKey;
-
+
return true;
}
-
- public static function addVariables( &$vars ) {
+
+ public static function addVariables(&$vars) {
+ global $wgUser;
+ if ($wgUser->getOption('narayamDisable')) {
+ // User disabled Narayam
+ return true;
+ }
$vars['wgNarayamAvailableSchemes'] = self::getSchemes(); //
Note: scheme names must be keys, not values
return true;
}
-
+
/**
* Get the available schemes for the user and content language
* @return array( scheme name => module name )
@@ -34,10 +52,21 @@
protected static function getSchemes() {
global $wgLanguageCode, $wgLang, $wgNarayamSchemes;
$userlangCode = $wgLang->getCode();
- $contlangSchemes = isset( $wgNarayamSchemes[$wgLanguageCode] ) ?
- $wgNarayamSchemes[$wgLanguageCode] : array();
- $userlangSchemes = isset( $wgNarayamSchemes[$userlangCode] ) ?
- $wgNarayamSchemes[$userlangCode] : array();
+ $contlangSchemes = isset($wgNarayamSchemes[$wgLanguageCode]) ?
+ $wgNarayamSchemes[$wgLanguageCode] : array();
+ $userlangSchemes = isset($wgNarayamSchemes[$userlangCode]) ?
+ $wgNarayamSchemes[$userlangCode] : array();
return $userlangSchemes + $contlangSchemes;
}
+
+ public static function addPreference($user, &$preferences) {
+ // A checkbox in preferences to diable Narayam
+ $preferences['narayamDisable'] = array(
+ 'type' => 'toggle',
+ 'label-message' => 'narayam-disable-preference', // a
system message
+ 'section' => 'editing/advancedediting', // under
'Advanced options' section of 'Editing' tab
+ );
+ return true;
+ }
+
}
Modified: trunk/extensions/Narayam/Narayam.i18n.php
===================================================================
--- trunk/extensions/Narayam/Narayam.i18n.php 2011-03-23 14:52:10 UTC (rev
84596)
+++ trunk/extensions/Narayam/Narayam.i18n.php 2011-03-23 15:14:44 UTC (rev
84597)
@@ -18,6 +18,7 @@
'narayam-toggle-ime' => 'To toggle IM ($1)', // FIXME: better message
'narayam-help-page' => 'Help:Typing',
'narayam-checkbox-tooltip' => 'To toggle input method on and off', //
FIXME: better message
+ 'narayam-disable-preference' => 'Disable Narayam IME',
'narayam-hi-inscript' => 'Hindi InScript',
'narayam-kn' => 'Kannada Transliteration',
'narayam-kn-inscript' => 'Kannada InScript',
Modified: trunk/extensions/Narayam/Narayam.php
===================================================================
--- trunk/extensions/Narayam/Narayam.php 2011-03-23 14:52:10 UTC (rev
84596)
+++ trunk/extensions/Narayam/Narayam.php 2011-03-23 15:14:44 UTC (rev
84597)
@@ -98,6 +98,7 @@
$wgHooks['BeforePageDisplay'][] = 'NarayamHooks::addModules';
$wgHooks['ResourceLoaderGetConfigVars'][] = 'NarayamHooks::addConfig';
$wgHooks['MakeGlobalVariablesScript'][] = 'NarayamHooks::addVariables';
+$wgHooks['GetPreferences'][] = 'NarayamHooks::addPreference';
// Autoloader
$wgAutoloadClasses['NarayamHooks'] = dirname( __FILE__ ) .
'/Narayam.hooks.php';
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs