Addshore has uploaded a new change for review.
https://gerrit.wikimedia.org/r/323384
Change subject: User preference to disable the Extension
......................................................................
User preference to disable the Extension
Bug: T151452
Change-Id: I35a50a411006dca6919a50ba2d0c5f2e8bc1b2e9
(cherry picked from commit 0d4323c4a1ab8254bf271dfae4e8eff625414a0a)
---
M RevisionSlider.hooks.php
M extension.json
M i18n/en.json
M i18n/qqq.json
4 files changed, 25 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider
refs/changes/84/323384/1
diff --git a/RevisionSlider.hooks.php b/RevisionSlider.hooks.php
index 8135ed2..9f9a623 100644
--- a/RevisionSlider.hooks.php
+++ b/RevisionSlider.hooks.php
@@ -30,6 +30,14 @@
}
/**
+ * If the user is logged in and has explictly requested to
disable the extension don't load.
+ */
+ $user = $diff->getUser();
+ if ( !$user->isAnon() && $user->getBoolOption(
'revisionslider-disable' ) ) {
+ return true;
+ }
+
+ /**
* Do not show the RevisionSlider when revisions from two
different pages are being compared
*/
if ( !$oldRev->getTitle()->equals( $newRev->getTitle() ) ) {
@@ -46,7 +54,7 @@
$timeOffset = 0;
}
- $autoExpand = $diff->getUser()->getBoolOption(
'userjs-revslider-autoexpand' );
+ $autoExpand = $user->getBoolOption(
'userjs-revslider-autoexpand' );
$out = RequestContext::getMain()->getOutput();
$out->addModules( 'ext.RevisionSlider.init' );
@@ -164,4 +172,15 @@
return true;
}
+
+ public static function onGetPreferences( User $user, array
&$preferences ) {
+ $preferences['revisionslider-disable'] = [
+ 'type' => 'toggle',
+ 'label-message' => 'revisionslider-preference-disable',
+ 'section' => 'rendering/diffs',
+ 'default' => $user->getBoolOption(
'revisionslider-disable' ),
+ ];
+
+ return true;
+ }
}
diff --git a/extension.json b/extension.json
index ed1e8af..89020b2 100644
--- a/extension.json
+++ b/extension.json
@@ -253,6 +253,9 @@
"GetBetaFeaturePreferences": [
"RevisionSliderHooks::getBetaFeaturePreferences"
],
+ "GetPreferences": [
+ "RevisionSliderHooks::onGetPreferences"
+ ],
"ResourceLoaderTestModules": [
"RevisionSliderHooks::onResourceLoaderTestModules"
]
diff --git a/i18n/en.json b/i18n/en.json
index 48dd3d1..b9d91d8 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -5,6 +5,7 @@
]
},
"revisionslider": "RevisionSlider",
+ "revisionslider-preference-disable": "Don't show the RevisionSlider",
"revisionslider-desc": "Shows a slider allowing selecting and comparing of
revisions on a diff page",
"revisionslider-beta-feature-message": "Revision slider",
"revisionslider-beta-feature-description": "Show a revision slider when
comparing two revisions of a page.",
diff --git a/i18n/qqq.json b/i18n/qqq.json
index b528277..954415f 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -7,6 +7,7 @@
]
},
"revisionslider": "RevisionSlider, see
https://www.mediawiki.org/wiki/Extension:RevisionSlider",
+ "revisionslider-preference-disable": "Label for the user preference
that disables the RevisionSlider",
"revisionslider-desc":
"{{desc|name=RevisionSlider|url=https://www.mediawiki.org/wiki/Extension:RevisionSlider}}",
"revisionslider-beta-feature-message": "Label for the RevisionSlider
Beta Feature.",
"revisionslider-beta-feature-description": "Description for the
RevisionSlider Beta Feature, describing the feature that will be enabled.",
--
To view, visit https://gerrit.wikimedia.org/r/323384
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I35a50a411006dca6919a50ba2d0c5f2e8bc1b2e9
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/RevisionSlider
Gerrit-Branch: wmf/1.29.0-wmf.3
Gerrit-Owner: Addshore <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits