A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.mediawiki.org/wiki/Manual:Hooks/GetBetaFeaturePreferences below:

Extension:BetaFeatures/Hooks/GetBetaFeaturePreferences - MediaWiki

GetBetaFeaturePreferences Available from version 1.22.0
Register preferences that enable experimental features. Only available with Extension:BetaFeatures.
Define function:
public static function onGetBetaFeaturePreferences( User $user, array &$betaPrefs ) { ... }
Attach hook:
$wgHooks['GetBetaFeaturePreferences'][] = 'MyExtensionHooks::onGetBetaFeaturePreferences';
Called from: File(s): BetaFeatures / includes/Hooks.php

For more information about attaching hooks, see Manual:Hooks .
For examples of other extensions using this hook, see Category:GetBetaFeaturePreferences extensions.

In MyExtension/extension.json:

	"Hooks": {
		"GetBetaFeaturePreferences": "MediaWiki\\Extension\\MyExtension\\Hooks::onGetBetaFeaturePreferences"
	},

In MyExtension/includes/Hooks.php:

namespace MediaWiki\Extension\MyExtension;
class Hooks {
    static function onGetBetaFeaturePreferences( $user, &$prefs ) {
		$extensionAssetsPath = MediaWikiServices::getInstance()
			->getMainConfig()
			->get( 'ExtensionAssetsPath' );
        $prefs['my-awesome-feature'] = array(
            // The first two are message keys
            'label-message' => 'beta-feature-message',
            'desc-message' => 'beta-feature-description',
            // Paths to images that represent the feature.
            'screenshot' => [
				'ltr' => "$extensionAssetsPath/MyExtension/images/betafeature-ltr.png",
				'rtl' => "$extensionAssetsPath/MyExtension/images/betafeature-rtl.png",
			],
            // Link to information on the feature - use subpages on mw.org, maybe?
            'info-link' => 'https://mediawiki.org/wiki/Special:MyLanguage/Help:Extension:MyExtension',
            // Link to discussion about the feature - talk pages might work
            'discussion-link' => 'https://mediawiki.org/wiki/Special:MyLanguage/Help_talk:Extension:MyExtension',
        );
    }
}
// SpecialMyExtension.php
class SpecialMyExtension extends SpecialPage {

    public function execute() {
        if ( BetaFeatures::isFeatureEnabled( $this->getUser(), 'my-awesome-feature' ) ) {
            // Implement the feature!
        }
    }
}

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4