Sumit has uploaded a new change for review. https://gerrit.wikimedia.org/r/258418
Change subject: BetaFeatures only add whitelisted preferences ...................................................................... BetaFeatures only add whitelisted preferences Check if a preference is whitelisted irrespective of its dependency specifications, before displaying it. Bug: T121182 Change-Id: I7e0ab007933a096ac6bb8eda211622c9b138e217 --- M BetaFeaturesHooks.php 1 file changed, 15 insertions(+), 14 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BetaFeatures refs/changes/18/258418/1 diff --git a/BetaFeaturesHooks.php b/BetaFeaturesHooks.php index 3b3b835..584b8b1 100644 --- a/BetaFeaturesHooks.php +++ b/BetaFeaturesHooks.php @@ -141,12 +141,10 @@ // This complex structure brought to you by Per-Wiki Configuration, // coming soon to a wiki very near you. Hooks::run( 'GetBetaFeatureDependencyHooks', array( &$depHooks ) ); - $saveUser = false; $autoEnrollAll = $user->getOption( 'betafeatures-auto-enroll' ) === HTMLFeatureField::OPTION_ENABLED; $autoEnroll = array(); - foreach ( $betaPrefs as $key => $info ) { if ( isset( $info['auto-enrollment'] ) ) { $autoEnroll[$info['auto-enrollment']] = $key; @@ -154,22 +152,25 @@ } foreach ( $betaPrefs as $key => $info ) { + $success = true; + // check if dependencies are met if ( isset( $info['dependent'] ) && $info['dependent'] === true ) { - $success = true; - - if ( - is_array( $wgBetaFeaturesWhitelist ) && - !in_array( $key, $wgBetaFeaturesWhitelist ) - ) { - $success = false; - } elseif ( isset( $depHooks[$key] ) ) { + if ( isset( $depHooks[$key] ) ) { $success = Hooks::run( $depHooks[$key] ); } + } - if ( $success !== true ) { - // Skip this preference! - continue; - } + // check if feature is whitelisted + if ( + is_array( $wgBetaFeaturesWhitelist ) && + !in_array( $key, $wgBetaFeaturesWhitelist ) + ) { + $success = false; + } + + if ( $success !== true ) { + // Skip this preference! + continue; } $opt = array( -- To view, visit https://gerrit.wikimedia.org/r/258418 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7e0ab007933a096ac6bb8eda211622c9b138e217 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/BetaFeatures Gerrit-Branch: master Gerrit-Owner: Sumit <asthana.sumi...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits