[MediaWiki-commits] [Gerrit] Adds a beta feature for Other project sidebar - change (mediawiki...Wikibase)

2014-07-29 Thread Hoo man (Code Review)
Hoo man has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/150197

Change subject: Adds a beta feature for Other project sidebar
..

Adds a beta feature for Other project sidebar

It introduce an optional dependance to BetaFeature extension

Adds two boolean configuration options:
otherProjectsLinksBeta to activate the beta feature
otherProjectsLinksByDefault to activate the other project sidebar by default

Relies on change I170e7253825c8dab5cad38e6b0ba59f28572efbf in MW core
Expands change I93767d3db76f694f2d37bbf2f2fecaf7643f4e3b in Wikimedia config

Change-Id: Ib4014253016db1c3d6b624be9ebbdaf452115145
(cherry picked from commit 0b6a5bf6dca9c2986511947283e3d57aa6e13738)
---
M client/WikibaseClient.hooks.php
M client/WikibaseClient.php
M client/config/WikibaseClient.default.php
M client/i18n/en.json
M client/i18n/qqq.json
A client/resources/images/wb-otherprojects-beta-ltr.png
A client/resources/images/wb-otherprojects-beta-ltr.svg
A client/resources/images/wb-otherprojects-beta-rtl.png
8 files changed, 119 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/97/150197/1

diff --git a/client/WikibaseClient.hooks.php b/client/WikibaseClient.hooks.php
index d91fc47..26372b4 100644
--- a/client/WikibaseClient.hooks.php
+++ b/client/WikibaseClient.hooks.php
@@ -4,6 +4,7 @@
 
 use Action;
 use BaseTemplate;
+use BetaFeatures;
 use ChangesList;
 use FormOptions;
 use IContextSource;
@@ -621,7 +622,10 @@
$settings = WikibaseClient::getDefaultInstance()-getSettings();
 
$siteIdsToOutput = $settings-getSetting( 'otherProjectsLinks' 
);
-   if ( count( $siteIdsToOutput ) === 0 ) {
+   if (
+   !$settings-getSetting( 'otherProjectsLinksBeta' )  
!$settings-getSetting( 'otherProjectsLinksByDefault' ) ||
+   count( $siteIdsToOutput ) === 0
+   ) {
return true;
}
 
@@ -641,6 +645,65 @@
}
 
/**
+* Filters the display of other project sidebar according to the beta 
feature
+*
+* @since 0.5
+*
+* @param Skin $skin
+* @param array $sidebar
+*
+* @return bool
+*/
+   public static function onSidebarBeforeOutput( Skin $skin, array 
$sidebar ) {
+   $settings = WikibaseClient::getDefaultInstance()-getSettings();
+   if (
+   $settings-getSetting( 'otherProjectsLinksBeta' ) 
+   !$settings-getSetting( 'otherProjectsLinksByDefault' ) 

+   class_exists( '\BetaFeatures' ) 
+   !BetaFeatures::isFeatureEnabled( $skin-getUser(), 
'wikibase-otherprojects' )
+   ) {
+   unset( $sidebar['wikibase-otherprojects'] );
+   }
+
+   return true;
+   }
+
+   /**
+* Initialise beta feature preferences
+*
+* @since 0.5
+*
+* @param User $user
+* @param array $betaPreferences
+*
+* @return bool
+*/
+   public static function onGetBetaFeaturePreferences( User $user, array 
$betaPreferences ) {
+   global $wgExtensionAssetsPath;
+
+   $remoteExtPathParts = explode( DIRECTORY_SEPARATOR . 
'extensions' . DIRECTORY_SEPARATOR , __DIR__, 2 );
+   $assetsPath = $wgExtensionAssetsPath . '/' . 
$remoteExtPathParts[1];
+
+   $settings = WikibaseClient::getDefaultInstance()-getSettings();
+   if ( !$settings-getSetting( 'otherProjectsLinksBeta' ) || 
$settings-getSetting( 'otherProjectsLinksByDefault' ) ) {
+   return true;
+   }
+
+   $betaPreferences['wikibase-otherprojects'] = array(
+   'label-message' = 
'wikibase-otherprojects-beta-message',
+   'desc-message' = 
'wikibase-otherprojects-beta-description',
+   'screenshot' = array(
+   'ltr' = $assetsPath . 
'/resources/images/wb-otherprojects-beta-ltr.png',
+   'rtl' = $assetsPath . 
'/resources/images/wb-otherprojects-beta-rtl.png'
+   ),
+   'info-link' = 
'https://www.mediawiki.org/wiki/Wikibase/Beta_Features/Other_projects_sidebar',
+   'discussion-link' = 
'https://www.mediawiki.org/wiki/Talk:Wikibase/Beta_Features/Other_projects_sidebar'
+   );
+
+   return true;
+   }
+
+   /**
 * Adds a toggle for showing/hiding Wikidata entries in recent changes
 *
 * @param SpecialRecentChanges $special
diff --git a/client/WikibaseClient.php b/client/WikibaseClient.php
index 4efa0c7..5f775b8 100644
--- a/client/WikibaseClient.php
+++ 

[MediaWiki-commits] [Gerrit] Adds a beta feature for Other project sidebar - change (mediawiki...Wikibase)

2014-07-29 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Adds a beta feature for Other project sidebar
..


Adds a beta feature for Other project sidebar

It introduce an optional dependance to BetaFeature extension

Adds two boolean configuration options:
otherProjectsLinksBeta to activate the beta feature
otherProjectsLinksByDefault to activate the other project sidebar by default

Relies on change I170e7253825c8dab5cad38e6b0ba59f28572efbf in MW core
Expands change I93767d3db76f694f2d37bbf2f2fecaf7643f4e3b in Wikimedia config

Change-Id: Ib4014253016db1c3d6b624be9ebbdaf452115145
(cherry picked from commit 0b6a5bf6dca9c2986511947283e3d57aa6e13738)
---
M client/WikibaseClient.hooks.php
M client/WikibaseClient.php
M client/config/WikibaseClient.default.php
M client/i18n/en.json
M client/i18n/qqq.json
A client/resources/images/wb-otherprojects-beta-ltr.png
A client/resources/images/wb-otherprojects-beta-ltr.svg
A client/resources/images/wb-otherprojects-beta-rtl.png
8 files changed, 119 insertions(+), 3 deletions(-)

Approvals:
  Hoo man: Looks good to me, approved
  WikidataJenkins: Verified
  jenkins-bot: Verified



diff --git a/client/WikibaseClient.hooks.php b/client/WikibaseClient.hooks.php
index d91fc47..26372b4 100644
--- a/client/WikibaseClient.hooks.php
+++ b/client/WikibaseClient.hooks.php
@@ -4,6 +4,7 @@
 
 use Action;
 use BaseTemplate;
+use BetaFeatures;
 use ChangesList;
 use FormOptions;
 use IContextSource;
@@ -621,7 +622,10 @@
$settings = WikibaseClient::getDefaultInstance()-getSettings();
 
$siteIdsToOutput = $settings-getSetting( 'otherProjectsLinks' 
);
-   if ( count( $siteIdsToOutput ) === 0 ) {
+   if (
+   !$settings-getSetting( 'otherProjectsLinksBeta' )  
!$settings-getSetting( 'otherProjectsLinksByDefault' ) ||
+   count( $siteIdsToOutput ) === 0
+   ) {
return true;
}
 
@@ -641,6 +645,65 @@
}
 
/**
+* Filters the display of other project sidebar according to the beta 
feature
+*
+* @since 0.5
+*
+* @param Skin $skin
+* @param array $sidebar
+*
+* @return bool
+*/
+   public static function onSidebarBeforeOutput( Skin $skin, array 
$sidebar ) {
+   $settings = WikibaseClient::getDefaultInstance()-getSettings();
+   if (
+   $settings-getSetting( 'otherProjectsLinksBeta' ) 
+   !$settings-getSetting( 'otherProjectsLinksByDefault' ) 

+   class_exists( '\BetaFeatures' ) 
+   !BetaFeatures::isFeatureEnabled( $skin-getUser(), 
'wikibase-otherprojects' )
+   ) {
+   unset( $sidebar['wikibase-otherprojects'] );
+   }
+
+   return true;
+   }
+
+   /**
+* Initialise beta feature preferences
+*
+* @since 0.5
+*
+* @param User $user
+* @param array $betaPreferences
+*
+* @return bool
+*/
+   public static function onGetBetaFeaturePreferences( User $user, array 
$betaPreferences ) {
+   global $wgExtensionAssetsPath;
+
+   $remoteExtPathParts = explode( DIRECTORY_SEPARATOR . 
'extensions' . DIRECTORY_SEPARATOR , __DIR__, 2 );
+   $assetsPath = $wgExtensionAssetsPath . '/' . 
$remoteExtPathParts[1];
+
+   $settings = WikibaseClient::getDefaultInstance()-getSettings();
+   if ( !$settings-getSetting( 'otherProjectsLinksBeta' ) || 
$settings-getSetting( 'otherProjectsLinksByDefault' ) ) {
+   return true;
+   }
+
+   $betaPreferences['wikibase-otherprojects'] = array(
+   'label-message' = 
'wikibase-otherprojects-beta-message',
+   'desc-message' = 
'wikibase-otherprojects-beta-description',
+   'screenshot' = array(
+   'ltr' = $assetsPath . 
'/resources/images/wb-otherprojects-beta-ltr.png',
+   'rtl' = $assetsPath . 
'/resources/images/wb-otherprojects-beta-rtl.png'
+   ),
+   'info-link' = 
'https://www.mediawiki.org/wiki/Wikibase/Beta_Features/Other_projects_sidebar',
+   'discussion-link' = 
'https://www.mediawiki.org/wiki/Talk:Wikibase/Beta_Features/Other_projects_sidebar'
+   );
+
+   return true;
+   }
+
+   /**
 * Adds a toggle for showing/hiding Wikidata entries in recent changes
 *
 * @param SpecialRecentChanges $special
diff --git a/client/WikibaseClient.php b/client/WikibaseClient.php
index 4efa0c7..5f775b8 100644
--- a/client/WikibaseClient.php
+++ b/client/WikibaseClient.php
@@ -111,6 

[MediaWiki-commits] [Gerrit] Adds a beta feature for Other project sidebar - change (mediawiki...Wikibase)

2014-07-23 Thread Hoo man (Code Review)
Hoo man has submitted this change and it was merged.

Change subject: Adds a beta feature for Other project sidebar
..


Adds a beta feature for Other project sidebar

It introduce an optional dependance to BetaFeature extension

Adds two boolean configuration options:
otherProjectsLinksBeta to activate the beta feature
otherProjectsLinksByDefault to activate the other project sidebar by default

Relies on change I170e7253825c8dab5cad38e6b0ba59f28572efbf in MW core
Expands change I93767d3db76f694f2d37bbf2f2fecaf7643f4e3b in Wikimedia config

Change-Id: Ib4014253016db1c3d6b624be9ebbdaf452115145
---
M client/WikibaseClient.hooks.php
M client/WikibaseClient.php
M client/config/WikibaseClient.default.php
M client/i18n/en.json
M client/i18n/qqq.json
A client/resources/images/wb-otherprojects-beta-ltr.png
A client/resources/images/wb-otherprojects-beta-ltr.svg
A client/resources/images/wb-otherprojects-beta-rtl.png
8 files changed, 119 insertions(+), 3 deletions(-)

Approvals:
  Hoo man: Looks good to me, approved
  WikidataJenkins: Verified
  Siebrand: Looks good to me, but someone else must approve



diff --git a/client/WikibaseClient.hooks.php b/client/WikibaseClient.hooks.php
index d91fc47..26372b4 100644
--- a/client/WikibaseClient.hooks.php
+++ b/client/WikibaseClient.hooks.php
@@ -4,6 +4,7 @@
 
 use Action;
 use BaseTemplate;
+use BetaFeatures;
 use ChangesList;
 use FormOptions;
 use IContextSource;
@@ -621,7 +622,10 @@
$settings = WikibaseClient::getDefaultInstance()-getSettings();
 
$siteIdsToOutput = $settings-getSetting( 'otherProjectsLinks' 
);
-   if ( count( $siteIdsToOutput ) === 0 ) {
+   if (
+   !$settings-getSetting( 'otherProjectsLinksBeta' )  
!$settings-getSetting( 'otherProjectsLinksByDefault' ) ||
+   count( $siteIdsToOutput ) === 0
+   ) {
return true;
}
 
@@ -641,6 +645,65 @@
}
 
/**
+* Filters the display of other project sidebar according to the beta 
feature
+*
+* @since 0.5
+*
+* @param Skin $skin
+* @param array $sidebar
+*
+* @return bool
+*/
+   public static function onSidebarBeforeOutput( Skin $skin, array 
$sidebar ) {
+   $settings = WikibaseClient::getDefaultInstance()-getSettings();
+   if (
+   $settings-getSetting( 'otherProjectsLinksBeta' ) 
+   !$settings-getSetting( 'otherProjectsLinksByDefault' ) 

+   class_exists( '\BetaFeatures' ) 
+   !BetaFeatures::isFeatureEnabled( $skin-getUser(), 
'wikibase-otherprojects' )
+   ) {
+   unset( $sidebar['wikibase-otherprojects'] );
+   }
+
+   return true;
+   }
+
+   /**
+* Initialise beta feature preferences
+*
+* @since 0.5
+*
+* @param User $user
+* @param array $betaPreferences
+*
+* @return bool
+*/
+   public static function onGetBetaFeaturePreferences( User $user, array 
$betaPreferences ) {
+   global $wgExtensionAssetsPath;
+
+   $remoteExtPathParts = explode( DIRECTORY_SEPARATOR . 
'extensions' . DIRECTORY_SEPARATOR , __DIR__, 2 );
+   $assetsPath = $wgExtensionAssetsPath . '/' . 
$remoteExtPathParts[1];
+
+   $settings = WikibaseClient::getDefaultInstance()-getSettings();
+   if ( !$settings-getSetting( 'otherProjectsLinksBeta' ) || 
$settings-getSetting( 'otherProjectsLinksByDefault' ) ) {
+   return true;
+   }
+
+   $betaPreferences['wikibase-otherprojects'] = array(
+   'label-message' = 
'wikibase-otherprojects-beta-message',
+   'desc-message' = 
'wikibase-otherprojects-beta-description',
+   'screenshot' = array(
+   'ltr' = $assetsPath . 
'/resources/images/wb-otherprojects-beta-ltr.png',
+   'rtl' = $assetsPath . 
'/resources/images/wb-otherprojects-beta-rtl.png'
+   ),
+   'info-link' = 
'https://www.mediawiki.org/wiki/Wikibase/Beta_Features/Other_projects_sidebar',
+   'discussion-link' = 
'https://www.mediawiki.org/wiki/Talk:Wikibase/Beta_Features/Other_projects_sidebar'
+   );
+
+   return true;
+   }
+
+   /**
 * Adds a toggle for showing/hiding Wikidata entries in recent changes
 *
 * @param SpecialRecentChanges $special
diff --git a/client/WikibaseClient.php b/client/WikibaseClient.php
index 4efa0c7..5f775b8 100644
--- a/client/WikibaseClient.php
+++ b/client/WikibaseClient.php
@@ -111,6 +111,8 @@

[MediaWiki-commits] [Gerrit] Adds a beta feature for Other project sidebar - change (mediawiki...Wikibase)

2014-05-10 Thread Tpt (Code Review)
Tpt has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/132606

Change subject: Adds a beta feature for Other project sidebar
..

Adds a beta feature for Other project sidebar

It introduce an optional dependance to BetaFeature extension

Adds two boolean configuration options:
otherProjectsLinksBeta to activate the beta feature
otherProjectsLinksByDefault to activate the other project sidebar by default

Change-Id: Ib4014253016db1c3d6b624be9ebbdaf452115145
---
M client/WikibaseClient.hooks.php
M client/WikibaseClient.php
M client/config/WikibaseClient.default.php
M client/i18n/en.json
M client/i18n/qqq.json
A client/resources/images/wb-otherprojects-beta-ltr.png
A client/resources/images/wb-otherprojects-beta-ltr.svg
A client/resources/images/wb-otherprojects-beta-rtl.png
8 files changed, 107 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/06/132606/1

diff --git a/client/WikibaseClient.hooks.php b/client/WikibaseClient.hooks.php
index e8cdde8..feba5aa 100644
--- a/client/WikibaseClient.hooks.php
+++ b/client/WikibaseClient.hooks.php
@@ -4,6 +4,7 @@
 
 use Action;
 use BaseTemplate;
+use BetaFeatures;
 use ChangesList;
 use FormOptions;
 use IContextSource;
@@ -580,7 +581,10 @@
$settings = WikibaseClient::getDefaultInstance()-getSettings();
 
$siteIdsToOutput = $settings-getSetting( 'otherProjectsLinks' 
);
-   if ( count( $siteIdsToOutput ) === 0 ) {
+   if (
+   !$settings-getSetting( 'otherProjectsLinksBeta' )  
!$settings-getSetting( 'otherProjectsLinksByDefault' ) ||
+   count( $siteIdsToOutput ) === 0
+   ) {
return true;
}
 
@@ -600,6 +604,53 @@
}
 
/**
+* Filters the display of other project sidebar according to the beta 
feature
+*
+* @param array $sidebar
+* @param Skin $skin
+*/
+   public static function onSidebarBeforeOutput( array $sidebar, Skin 
$skin ) {
+   $settings = WikibaseClient::getDefaultInstance()-getSettings();
+   if (
+   $settings-getSetting( 'otherProjectsLinksBeta' ) 
+   !$settings-getSetting( 'otherProjectsLinksByDefault' ) 

+   class_exists( '\BetaFeatures' ) 
+   !BetaFeatures::isFeatureEnabled( $skin-getUser(), 
'wikibase-otherprojects' )
+   ) {
+   unset( $sidebar['wikibase-otherprojects'] );
+   }
+   }
+
+   /**
+* Initialise beta feature preferences
+*
+* @param User $user
+* @param array $betaPreferences
+* @return bool
+*/
+   public static function onGetBetaFeaturePreferences( User $user, array 
$betaPreferences ) {
+   global $wgExtensionAssetsPath;
+
+   $settings = WikibaseClient::getDefaultInstance()-getSettings();
+   if ( !$settings-getSetting( 'otherProjectsLinksBeta' ) || 
$settings-getSetting( 'otherProjectsLinksByDefault' ) ) {
+   return true;
+   }
+
+   $betaPreferences['wikibase-otherprojects'] = array(
+   'label-message' = 
'wikibase-otherprojects-beta-message',
+   'desc-message' = 
'wikibase-otherprojects-beta-description',
+   'screenshot' = array(
+   'ltr' = $wgExtensionAssetsPath . 
'/Wikibase/client/resources/images/wb-otherprojects-beta-ltr.png',
+   'rtl' = $wgExtensionAssetsPath . 
'/Wikibase/client/resources/images/wb-otherprojects-beta-rtl.png'
+   ),
+   'info-link' = 
'https://www.mediawiki.org/wiki/Wikibase/Beta_Features/Other_projects_sidebar',
+   'discussion-link' = 
'https://www.mediawiki.org/wiki/Talk:Wikibase/Beta_Features/Other_projects_sidebar'
+   );
+
+   return true;
+   }
+
+   /**
 * Adds a toggle for showing/hiding Wikidata entries in recent changes
 *
 * @param SpecialRecentChanges $special
diff --git a/client/WikibaseClient.php b/client/WikibaseClient.php
index fca740c..e545f05 100644
--- a/client/WikibaseClient.php
+++ b/client/WikibaseClient.php
@@ -89,6 +89,8 @@
$wgHooks['InfoAction'][]
= '\Wikibase\ClientHooks::onInfoAction';
$wgHooks['TitleMoveComplete'][]  = 
'\Wikibase\ClientHooks::onTitleMoveComplete';
$wgHooks['BaseTemplateAfterPortlet'][] = 
'\Wikibase\ClientHooks::onBaseTemplateAfterPortlet';
+   $wgHooks['GetBetaFeaturePreferences'][] = 
'\Wikibase\ClientHooks::onGetBetaFeaturePreferences';
+   $wgHooks['SidebarBeforeOutput'][] =