summaryrefslogtreecommitdiff
path: root/extensions/Vector/Vector.hooks.php
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/Vector/Vector.hooks.php')
-rw-r--r--extensions/Vector/Vector.hooks.php174
1 files changed, 0 insertions, 174 deletions
diff --git a/extensions/Vector/Vector.hooks.php b/extensions/Vector/Vector.hooks.php
deleted file mode 100644
index 50cec461..00000000
--- a/extensions/Vector/Vector.hooks.php
+++ /dev/null
@@ -1,174 +0,0 @@
-<?php
-/**
- * Hooks for Vector extension
- *
- * @file
- * @ingroup Extensions
- */
-
-class VectorHooks {
-
- /* Protected Static Members */
-
- protected static $features = array(
- 'collapsiblenav' => array(
- 'preferences' => array(
- 'vector-collapsiblenav' => array(
- 'type' => 'toggle',
- 'label-message' => 'vector-collapsiblenav-preference',
- 'section' => 'rendering/advancedrendering',
- ),
- ),
- 'requirements' => array(
- 'vector-collapsiblenav' => true,
- ),
- 'configurations' => array(
- 'wgCollapsibleNavBucketTest',
- 'wgCollapsibleNavForceNewVersion',
- ),
- 'modules' => array( 'ext.vector.collapsibleNav' ),
- ),
- 'collapsibletabs' => array(
- 'modules' => array( 'ext.vector.collapsibleTabs' ),
- ),
- 'expandablesearch' => array(
- 'requirements' => array( 'vector-simplesearch' => true ),
- 'modules' => array( 'ext.vector.expandableSearch' ),
- ),
- 'footercleanup' => array(
- 'modules' => array( 'ext.vector.footerCleanup' ),
- ),
- 'sectioneditlinks' => array(
- 'modules' => array( 'ext.vector.sectionEditLinks' ),
- 'configurations' => array(
- 'wgVectorSectionEditLinksBucketTest',
- 'wgVectorSectionEditLinksLotteryOdds',
- 'wgVectorSectionEditLinksExperiment',
- ),
- 'requirements' => array(
- 'vector-noexperiments' => false,
- ),
- ),
- 'experiments' => array(
- 'preferences' => array(
- 'vector-noexperiments' => array(
- 'type' => 'toggle',
- 'label-message' => 'vector-noexperiments-preference',
- 'section' => 'rendering/advancedrendering',
- ),
- ),
- ),
- );
-
- /* Protected Static Methods */
-
- protected static function isEnabled( $name ) {
- global $wgVectorFeatures, $wgUser;
-
- // Features with global set to true are always enabled
- if ( !isset( $wgVectorFeatures[$name] ) || $wgVectorFeatures[$name]['global'] ) {
- return true;
- }
- // Features with user preference control can have any number of preferences to be specific values to be enabled
- if ( $wgVectorFeatures[$name]['user'] ) {
- if ( isset( self::$features[$name]['requirements'] ) ) {
- foreach ( self::$features[$name]['requirements'] as $requirement => $value ) {
- // Important! We really do want fuzzy evaluation here
- if ( $wgUser->getOption( $requirement ) != $value ) {
- return false;
- }
- }
- }
- return true;
- }
- // Features controlled by $wgVectorFeatures with both global and user set to false are awlways disabled
- return false;
- }
-
- /* Static Methods */
-
- /**
- * BeforePageDisplay hook
- *
- * Adds the modules to the page
- *
- * @param $out OutputPage output page
- * @param $skin Skin current skin
- */
- public static function beforePageDisplay( $out, $skin ) {
- if ( $skin instanceof SkinVector ) {
- // Add modules for enabled features
- foreach ( self::$features as $name => $feature ) {
- if ( isset( $feature['modules'] ) && self::isEnabled( $name ) ) {
- $out->addModules( $feature['modules'] );
- }
- }
- }
- return true;
- }
-
- /**
- * GetPreferences hook
- *
- * Adds Vector-releated items to the preferences
- *
- * @param $user User current user
- * @param $defaultPreferences array list of default user preference controls
- */
- public static function getPreferences( $user, &$defaultPreferences ) {
- global $wgVectorFeatures;
-
- foreach ( self::$features as $name => $feature ) {
- if (
- isset( $feature['preferences'] ) &&
- ( !isset( $wgVectorFeatures[$name] ) || $wgVectorFeatures[$name]['user'] )
- ) {
- foreach ( $feature['preferences'] as $key => $options ) {
- $defaultPreferences[$key] = $options;
- }
- }
- }
- return true;
- }
-
- /**
- * ResourceLoaderGetConfigVars hook
- *
- * Adds enabled/disabled switches for Vector modules
- */
- public static function resourceLoaderGetConfigVars( &$vars ) {
- global $wgVectorFeatures;
-
- $configurations = array();
- foreach ( self::$features as $name => $feature ) {
- if (
- isset( $feature['configurations'] ) &&
- ( !isset( $wgVectorFeatures[$name] ) || self::isEnabled( $name ) )
- ) {
- foreach ( $feature['configurations'] as $configuration ) {
- global $$configuration;
- $configurations[$configuration] = $$configuration;
- }
- }
- }
- if ( count( $configurations ) ) {
- $vars = array_merge( $vars, $configurations );
- }
- return true;
- }
-
- /**
- * @param $vars array
- * @return bool
- */
- public static function makeGlobalVariablesScript( &$vars ) {
- // Build and export old-style wgVectorEnabledModules object for back compat
- $enabledModules = array();
- foreach ( self::$features as $name => $feature ) {
- $enabledModules[$name] = self::isEnabled( $name );
- }
-
- $vars['wgVectorEnabledModules'] = $enabledModules;
- return true;
- }
-}