jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/361691 )
Change subject: Add BetaFeature Switch ...................................................................... Add BetaFeature Switch Bug: T167257 Change-Id: Ia2be404f2605066d63b65d72920ddd1093fe44b5 --- M Hooks.php M extension.json M i18n/en.json M i18n/qqq.json 4 files changed, 42 insertions(+), 2 deletions(-) Approvals: WMDE-Fisch: Looks good to me, approved jenkins-bot: Verified diff --git a/Hooks.php b/Hooks.php index ad3f03c..e60543e 100644 --- a/Hooks.php +++ b/Hooks.php @@ -5,6 +5,9 @@ use Message; use SkinTemplate; use WikiFilePage; +use MediaWiki\MediaWikiServices; +use User; +use BetaFeatures; /** * @author Addshore @@ -12,7 +15,22 @@ class FileExporterHooks { public static function onSkinTemplateNavigation( SkinTemplate &$sktemplate, array &$links ) { + global $wgUser; global $wgFileExporterTarget; + + $config = MediaWikiServices::getInstance()->getMainConfig(); + + /** + * If this extension is configured to be a beta feature, and the BetaFeatures extension + * is loaded then require the current user to have the feature enabled. + */ + if ( + $config->get( 'FileExporterBetaFeature' ) && + class_exists( BetaFeatures::class ) && + !BetaFeatures::isFeatureEnabled( $wgUser, 'fileexporter' ) + ) { + return; + } $title = $sktemplate->getTitle(); $page = new WikiFilePage( $title ); @@ -44,4 +62,17 @@ ]; } + public static function getBetaFeaturePreferences( User $user, array &$prefs ) { + $config = MediaWikiServices::getInstance()->getMainConfig(); + + if ( $config->get( 'FileExporterBetaFeature' ) ) { + $prefs[ 'fileexporter' ] = [ + 'label-message' => 'fileexporter-beta-feature-message', + 'desc-message' => 'fileexporter-beta-feature-description', + 'info-link' => 'https://www.mediawiki.org/wiki/Extension:FileExporter', + 'discussion-link' => 'https://www.mediawiki.org/wiki/Extension_talk:FileExporter', + ]; + } + } + } diff --git a/extension.json b/extension.json index 58f1b4a..32189cd 100644 --- a/extension.json +++ b/extension.json @@ -16,12 +16,17 @@ ] }, "config": { + "@FileExporterBetaFeature": "Make FileExporter a BetaFeature. This requires the FileExporter extension and requires it to be enabled as a BetaFeature by each user.", + "FileExporterBetaFeature": false, "@FileExporterTarget": "The Special:ImportFile page on the target wiki, as provided by the FileImporter extension.", "FileExporterTarget": "https://commons.wikimedia.org/wiki/Special:ImportFile" }, "Hooks": { "SkinTemplateNavigation": [ "FileExporter\\FileExporterHooks::onSkinTemplateNavigation" + ], + "GetBetaFeaturePreferences": [ + "FileExporter\\FileExporterHooks::getBetaFeaturePreferences" ] }, "AutoloadClasses": { diff --git a/i18n/en.json b/i18n/en.json index 2a3dd8b..48cba7d 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -6,5 +6,7 @@ }, "fileexporter": "FileExporter", "fileexporter-desc": "Easy exporting of files to another wiki", - "fileexporter-text": "Export file" + "fileexporter-text": "Export file", + "fileexporter-beta-feature-message": "FileExporter", + "fileexporter-beta-feature-description": "Allows for easy exporting of files to another wiki." } \ No newline at end of file diff --git a/i18n/qqq.json b/i18n/qqq.json index d114481..d326a52 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -6,5 +6,7 @@ }, "fileexporter": "FileExporter", "fileexporter-desc": "{{desc|name=FileExporter|url=https://www.mediawiki.org/wiki/Extension:FileExporter}}", - "fileexporter-text": "Text to be displayed on a button on a File page which will take the user to the import page on the configured wiki." + "fileexporter-text": "Text to be displayed on a button on a File page which will take the user to the import page on the configured wiki.", + "fileexporter-beta-feature-message": "Label for the FileExporter Beta Feature.", + "fileexporter-beta-feature-description": "Description for the FileExporter Beta Feature, describing the feature that will be enabled." } -- To view, visit https://gerrit.wikimedia.org/r/361691 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ia2be404f2605066d63b65d72920ddd1093fe44b5 Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/extensions/FileExporter Gerrit-Branch: master Gerrit-Owner: Andrew-WMDE <andrew.kos...@wikimedia.de> Gerrit-Reviewer: Addshore <addshorew...@gmail.com> Gerrit-Reviewer: Tobias Gritschacher <tobias.gritschac...@wikimedia.de> Gerrit-Reviewer: WMDE-Fisch <christoph.jau...@wikimedia.de> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits