jenkins-bot has submitted this change and it was merged.
Change subject: Add user preference for non-beta disabling
......................................................................
Add user preference for non-beta disabling
Change-Id: I3f581975cfdf33bc15b8a4b23549c6401b4bfb87
(cherry picked from commit b0b1446f5b27021674a7ad6e97c03b9577093713)
---
M MultimediaViewer.i18n.php
M MultimediaViewer.php
M MultimediaViewerHooks.php
3 files changed, 28 insertions(+), 6 deletions(-)
Approvals:
MarkTraceur: Looks good to me, but someone else must approve
Siebrand: Looks good to me, but someone else must approve
Gergő Tisza: Looks good to me, approved
jenkins-bot: Verified
diff --git a/MultimediaViewer.i18n.php b/MultimediaViewer.i18n.php
index 47744f4..eb88de6 100644
--- a/MultimediaViewer.i18n.php
+++ b/MultimediaViewer.i18n.php
@@ -30,6 +30,7 @@
'multimediaviewer-desc-nil' => 'No description available.',
'multimediaviewer-pref' => 'Media Viewer',
'multimediaviewer-pref-desc' => 'Improve your multimedia viewing
experience with this new tool. It displays images in larger size on pages that
have thumbnails. Images are shown in a nicer fullscreen interface overlay, and
can also be viewed in full-size.',
+ 'multimediaviewer-optin-pref' => 'Enable new media viewing experience',
'multimediaviewer-file-page' => 'Go to corresponding file page',
'multimediaviewer-repository' => 'Learn more on $1',
'multimediaviewer-repository-local' => 'Learn more',
@@ -121,6 +122,7 @@
'multimediaviewer-desc-nil' => 'Text to be used when no description is
available.',
'multimediaviewer-pref' => 'Preference title',
'multimediaviewer-pref-desc' => 'Description of preference',
+ 'multimediaviewer-optin-pref' => 'Label for non-beta preference.',
'multimediaviewer-file-page' => 'Text for a link to the file page for
an image.',
'multimediaviewer-repository' => 'Link to the repository where the
image is hosted. Parameters:
* $1 - the display name of that site
diff --git a/MultimediaViewer.php b/MultimediaViewer.php
index 6cfee60..809d4e9 100644
--- a/MultimediaViewer.php
+++ b/MultimediaViewer.php
@@ -25,7 +25,7 @@
call_user_func( function() {
global $wgExtensionMessagesFiles, $wgResourceModules,
$wgExtensionFunctions, $wgMediaViewerIsInBeta,
$wgAutoloadClasses, $wgHooks, $wgExtensionCredits,
$wgNetworkPerformanceSamplingFactor,
- $wgEnableMediaViewerForLoggedInUsersOnly;
+ $wgEnableMediaViewerForLoggedInUsersOnly, $wgDefaultUserOptions;
/** @var int|bool: If set, records image load network performance once
per this many requests. False if unset. **/
$wgNetworkPerformanceSamplingFactor = false;
@@ -665,6 +665,9 @@
$wgHooks['GetBetaFeaturePreferences'][] =
'MultimediaViewerHooks::getBetaPreferences';
}
+ $wgDefaultUserOptions['multimediaviewer-enable'] = true;
+
+ $wgHooks['GetPreferences'][] = 'MultimediaViewerHooks::getPreferences';
$wgHooks['BeforePageDisplay'][] =
'MultimediaViewerHooks::getModulesForArticle';
$wgHooks['CategoryPageView'][] =
'MultimediaViewerHooks::getModulesForCategory';
$wgHooks['ResourceLoaderGetConfigVars'][] =
'MultimediaViewerHooks::resourceLoaderGetConfigVars';
diff --git a/MultimediaViewerHooks.php b/MultimediaViewerHooks.php
index 18e9657..d102fbf 100644
--- a/MultimediaViewerHooks.php
+++ b/MultimediaViewerHooks.php
@@ -38,12 +38,18 @@
if ( $wgMediaViewerIsInBeta && class_exists( 'BetaFeatures' ) )
{
return BetaFeatures::isFeatureEnabled( $user,
'multimedia-viewer' );
- } else if ( $wgEnableMediaViewerForLoggedInUsersOnly ) {
- return $user->isLoggedIn();
- } else {
- // Default to enabling for everyone.
- return true;
}
+
+ if ( $user->getOption( 'multimediaviewer-enable' ) ) {
+ if ( $wgEnableMediaViewerForLoggedInUsersOnly ) {
+ return $user->isLoggedIn();
+ } else {
+ // Default to enabling for everyone.
+ return true;
+ }
+ }
+
+ return false;
}
/**
@@ -112,6 +118,17 @@
return true;
}
+ // Adds a default-enabled preference to gate the feature on non-beta
sites
+ public static function getPreferences( $user, &$prefs ) {
+ $prefs['multimediaviewer-enable'] = array(
+ 'type' => 'toggle',
+ 'label-message' => 'multimediaviewer-optin-pref',
+ 'section' => 'rendering/files',
+ );
+
+ return true;
+ }
+
/**
* Export variables used in both PHP and JS to keep DRY
* @param array $vars
--
To view, visit https://gerrit.wikimedia.org/r/119981
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I3f581975cfdf33bc15b8a4b23549c6401b4bfb87
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/MultimediaViewer
Gerrit-Branch: master
Gerrit-Owner: MarkTraceur <[email protected]>
Gerrit-Reviewer: Brian Wolff <[email protected]>
Gerrit-Reviewer: Gergő Tisza <[email protected]>
Gerrit-Reviewer: MarkTraceur <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits