[MediaWiki-commits] [Gerrit] mediawiki...FileExporter[master]: Add BetaFeature Switch

2017-06-30 Thread jenkins-bot (Code Review)
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 

[MediaWiki-commits] [Gerrit] mediawiki...FileExporter[master]: Add BetaFeature Switch

2017-06-27 Thread Andrew-WMDE (Code Review)
Andrew-WMDE has uploaded a new change for review. ( 
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, 41 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/FileExporter 
refs/changes/91/361691/1

diff --git a/Hooks.php b/Hooks.php
index ad3f03c..72e4158 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,6 +15,21 @@
 class FileExporterHooks {
 
public static function onSkinTemplateNavigation( SkinTemplate 
&$sktemplate, array &$links ) {
+   $config = MediaWikiServices::getInstance()->getMainConfig();
+   global $wgUser;
+
+   /**
+   * 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;
+   }
+
global $wgFileExporterTarget;
 
$title = $sktemplate->getTitle();
@@ -44,4 +62,16 @@
];
}
 
+   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: