mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/Vector.git
synced 2024-11-24 07:43:47 +00:00
355b188db4
A new config flag wgVectorLanguageInHeader is added to allow us to render languages in sidebar or outside sidebar, in the header. it defaults to false to allow for further development and to not disrupt the status quo. To accomodate the new menu, a new header is added based on the design in Minerva to contain the heading and language button. The language button is floated to the right. The new menu is not styled. That exercise is left for the follow up task T268241 No caching implications of this change, as legacy and modern experiences remain touched without changing the default value of the new config flag Bug: T260738 Change-Id: I5af1522cac3831c1c833388461fe254c03191f65
91 lines
2.6 KiB
PHP
91 lines
2.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Service Wirings for Vector skin
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
* http://www.gnu.org/copyleft/gpl.html
|
|
*
|
|
* @file
|
|
* @since 1.35
|
|
*/
|
|
|
|
use MediaWiki\MediaWikiServices;
|
|
use Vector\Constants;
|
|
use Vector\FeatureManagement\FeatureManager;
|
|
use Vector\FeatureManagement\Requirements\DynamicConfigRequirement;
|
|
use Vector\FeatureManagement\Requirements\LatestSkinVersionRequirement;
|
|
use Vector\SkinVersionLookup;
|
|
|
|
return [
|
|
Constants::SERVICE_CONFIG => function ( MediaWikiServices $services ) {
|
|
return $services->getService( 'ConfigFactory' )->makeConfig( Constants::SKIN_NAME );
|
|
},
|
|
Constants::SERVICE_FEATURE_MANAGER => function ( MediaWikiServices $services ) {
|
|
$featureManager = new FeatureManager();
|
|
|
|
$featureManager->registerRequirement(
|
|
new DynamicConfigRequirement(
|
|
$services->getMainConfig(),
|
|
Constants::CONFIG_KEY_FULLY_INITIALISED,
|
|
Constants::REQUIREMENT_FULLY_INITIALISED
|
|
)
|
|
);
|
|
|
|
// Feature: Latest skin
|
|
// ====================
|
|
$context = RequestContext::getMain();
|
|
|
|
$featureManager->registerRequirement(
|
|
new LatestSkinVersionRequirement(
|
|
new SkinVersionLookup(
|
|
$context->getRequest(),
|
|
$context->getUser(),
|
|
$services->getService( Constants::SERVICE_CONFIG )
|
|
)
|
|
)
|
|
);
|
|
|
|
$featureManager->registerFeature(
|
|
Constants::FEATURE_LATEST_SKIN,
|
|
[
|
|
Constants::REQUIREMENT_FULLY_INITIALISED,
|
|
Constants::REQUIREMENT_LATEST_SKIN_VERSION,
|
|
]
|
|
);
|
|
|
|
// Feature: Languages in sidebar
|
|
// ================================
|
|
$featureManager->registerRequirement(
|
|
new DynamicConfigRequirement(
|
|
$services->getMainConfig(),
|
|
Constants::CONFIG_KEY_LANGUAGE_IN_HEADER,
|
|
Constants::REQUIREMENT_LANGUAGE_IN_HEADER
|
|
)
|
|
);
|
|
|
|
$featureManager->registerFeature(
|
|
Constants::FEATURE_LANGUAGE_IN_HEADER,
|
|
[
|
|
Constants::REQUIREMENT_FULLY_INITIALISED,
|
|
Constants::REQUIREMENT_LATEST_SKIN_VERSION,
|
|
Constants::REQUIREMENT_LANGUAGE_IN_HEADER,
|
|
]
|
|
);
|
|
|
|
return $featureManager;
|
|
}
|
|
];
|