http://www.mediawiki.org/wiki/Special:Code/MediaWiki/100116
Revision: 100116
Author: santhosh
Date: 2011-10-18 15:22:13 +0000 (Tue, 18 Oct 2011)
Log Message:
-----------
have a configuraiton parameter $wgEnableWebFontsDefault , when set false, dont
show the extension for anonymous users.
For logged in users, use the user's preference page settings.
Modified Paths:
--------------
trunk/extensions/WebFonts/WebFonts.hooks.php
trunk/extensions/WebFonts/WebFonts.php
trunk/extensions/WebFonts/js/webfonts.js
Modified: trunk/extensions/WebFonts/WebFonts.hooks.php
===================================================================
--- trunk/extensions/WebFonts/WebFonts.hooks.php 2011-10-18 15:13:37 UTC
(rev 100115)
+++ trunk/extensions/WebFonts/WebFonts.hooks.php 2011-10-18 15:22:13 UTC
(rev 100116)
@@ -17,7 +17,37 @@
return true; // Hooks must return value
}
+
+ public static function addConfig( &$vars ) {
+ global $wgUser;
+ if ( $wgUser->getOption( 'webfontsDisable' ) ) {
+ wfDebugLog( 'webfonts', 'User disabled WebFonts: ' ,
true );
+ // User disabled WebFonts
+ return true;
+ }
+
+
+ return true;
+ }
+
+ public static function addVariables( &$vars ) {
+ global $wgWebFontsEnabledByDefault, $wgUser;
+
+ if ( $wgUser->getOption( 'webfontsDisable' ) ) {
+ // User disabled WebFonts
+ return true;
+ }
+
+ if ( $wgUser->isAnon() ) {
+ // If user enabled webfonts from preference page,
+ // wgWebFontsEnabledByDefault is overridden by that.
+ $vars['wgWebFontsEnabledByDefault'] =
$wgWebFontsEnabledByDefault;
+ }
+
+ return true;
+ }
+
public static function addPreference( $user, &$preferences ) {
// A checkbox in preferences to disable WebFonts
$preferences['webfontsDisable'] = array(
Modified: trunk/extensions/WebFonts/WebFonts.php
===================================================================
--- trunk/extensions/WebFonts/WebFonts.php 2011-10-18 15:13:37 UTC (rev
100115)
+++ trunk/extensions/WebFonts/WebFonts.php 2011-10-18 15:22:13 UTC (rev
100116)
@@ -35,6 +35,8 @@
$wgHooks['BeforePageDisplay'][] = 'WebFontsHooks::addModules';
$wgHooks['GetPreferences'][] = 'WebFontsHooks::addPreference';
+$wgHooks['ResourceLoaderGetConfigVars'][] = 'WebFontsHooks::addConfig';
+$wgHooks['MakeGlobalVariablesScript'][] = 'WebFontsHooks::addVariables';
$wgWebFontsEnabled = true;
Modified: trunk/extensions/WebFonts/js/webfonts.js
===================================================================
--- trunk/extensions/WebFonts/js/webfonts.js 2011-10-18 15:13:37 UTC (rev
100115)
+++ trunk/extensions/WebFonts/js/webfonts.js 2011-10-18 15:22:13 UTC (rev
100116)
@@ -158,6 +158,11 @@
var config = [];
var languages = $.webfonts.config.languages;
var requested = [wgUserLanguage, wgContentLanguage];
+ if ( mw.config.get( 'wgWebFontsEnabledByDefault' ) ==
false) {
+ // Webfonts are not enabled by default. Not
setting up.
+ // This is applicable only for anonymous users.
+ return false;
+ }
for (var i = 0; i < requested.length; i++) {
if (requested[i] in languages) {
var fonts = languages[requested[i]];
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs