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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits