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 MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs