Nischayn22 has uploaded a new change for review. https://gerrit.wikimedia.org/r/49392
Change subject: (bug 37947) disable Moodbar using user prefs ...................................................................... (bug 37947) disable Moodbar using user prefs Change-Id: I0af9f522cc679ffbc060cad4d6f6a4db57815cef --- M MoodBar.hooks.php M MoodBar.i18n.php M MoodBar.php M modules/ext.moodBar/ext.moodBar.core.js M modules/ext.moodBar/ext.moodBar.init.js 5 files changed, 49 insertions(+), 7 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MoodBar refs/changes/92/49392/1 diff --git a/MoodBar.hooks.php b/MoodBar.hooks.php index fb6559d..76ed100 100644 --- a/MoodBar.hooks.php +++ b/MoodBar.hooks.php @@ -76,6 +76,10 @@ return false; } + if ( $skin->getUser()->getOption( 'moodbar-disable' ) == 1 ) { + return false; + } + if ( $skin->getUser()->isAnon() ) { return false; } @@ -181,4 +185,18 @@ //sort($buckets); return $buckets; } + + /** + * Sets the preferences for disabling moodbar. + */ + public static function onGetPreferences( $user, &$preferences ) { + // A checkbox + $preferences['moodbar-disable'] = array( + 'type' => 'toggle', + 'label-message' => 'moodbar-disable', // a system message + 'section' => 'misc/moodbar', + ); + + return true; + } } diff --git a/MoodBar.i18n.php b/MoodBar.i18n.php index 12be4d5..beb5de6 100644 --- a/MoodBar.i18n.php +++ b/MoodBar.i18n.php @@ -204,6 +204,9 @@ Thanks for being part of the community. -- {{SITENAME}}', + // Preferences + 'moodbar-disable' => 'Disable Moodbar', + 'prefs-moodbar' => 'Moodbar', ); /** Message documentation (Message documentation) @@ -412,6 +415,9 @@ *$3 is the responder talk page *$4 is the response text *$5 is commenter talk page', + // Preferences + 'moodbar-disable' => 'Text for checkbox to disable moodbar', + 'prefs-moodbar' => 'Moodbar section heading on Misc tab in Preferences', ); /** Afrikaans (Afrikaans) diff --git a/MoodBar.php b/MoodBar.php index 0c528e5..f284b37 100644 --- a/MoodBar.php +++ b/MoodBar.php @@ -44,6 +44,7 @@ $wgHooks['MakeGlobalVariablesScript'][] = 'MoodBarHooks::makeGlobalVariablesScript'; $wgHooks['LoadExtensionSchemaUpdates'][] = 'MoodBarHooks::onLoadExtensionSchemaUpdates'; $wgHooks['onMarkItemAsHelpful'][] = 'MoodBarHooks::onMarkItemAsHelpful'; +$wgHooks['GetPreferences'][] = 'MoodBarHooks::onGetPreferences'; // Special pages $wgAutoloadClasses['SpecialMoodBar'] = $moodBarDir . 'SpecialMoodBar.php'; diff --git a/modules/ext.moodBar/ext.moodBar.core.js b/modules/ext.moodBar/ext.moodBar.core.js index 8d2f20b..3a3d501 100644 --- a/modules/ext.moodBar/ext.moodBar.core.js +++ b/modules/ext.moodBar/ext.moodBar.core.js @@ -121,11 +121,29 @@ disable: function( e ) { e.preventDefault(); - $.cookie( - mb.cookiePrefix() + 'disabled', - '1', - { 'path': '/', 'expires': Number( mb.conf.disableExpiration ) } + + var tokenRequest = { + 'action': 'tokens', + 'type' : 'options' + }; + var prefRequest = { + 'action': 'options', + 'change': 'moodbar-disable=1' + }; + + var api = new mw.Api(); + api.post( tokenRequest, + function( data ) { + try { + var token = data.tokens.optionstoken; + } catch ( e ) { + throw new Error( 'Could not get token to set user preferences (requires MediaWiki 1.20).' ); + } + prefRequest.token = token; + api.post( prefRequest, function() { return true; } ); + } ); + mb.ui.overlay.fadeOut( 'fast' ); mb.ui.trigger.fadeOut( 'fast' ); }, diff --git a/modules/ext.moodBar/ext.moodBar.init.js b/modules/ext.moodBar/ext.moodBar.init.js index 0464114..bf2c15d 100644 --- a/modules/ext.moodBar/ext.moodBar.init.js +++ b/modules/ext.moodBar/ext.moodBar.init.js @@ -17,15 +17,14 @@ }, isDisabled: function() { - var cookieDisabled = ($.cookie( mb.cookiePrefix() + 'disabled' ) === '1'), - browserDisabled = false, + var browserDisabled = false, clientInfo = $.client.profile(); if ( clientInfo.name === 'msie' && clientInfo.versionNumber < 7 ) { browserDisabled = true; } - return cookieDisabled || browserDisabled; + return browserDisabled; }, ui: { -- To view, visit https://gerrit.wikimedia.org/r/49392 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0af9f522cc679ffbc060cad4d6f6a4db57815cef Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/MoodBar Gerrit-Branch: master Gerrit-Owner: Nischayn22 <nischay...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits