From ead80732b9450185ce9ef8c22ece08e26d894e0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartosz=20Dziewo=C5=84ski?= Date: Wed, 27 Dec 2017 12:22:18 +0100 Subject: [PATCH] Do not fail when we can't get the config Config is not available when running in the context of the MediaWiki installer. Bug: T183640 Change-Id: Iaf3fa508fb71e93570120134f7c44001f5833f1c --- ResourceLoaderLessModule.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ResourceLoaderLessModule.php b/ResourceLoaderLessModule.php index 38eb06a42..584975573 100644 --- a/ResourceLoaderLessModule.php +++ b/ResourceLoaderLessModule.php @@ -24,11 +24,16 @@ namespace Vector; use CSSMin; use MediaWiki\MediaWikiServices; +use ConfigException; use ResourceLoaderContext; use ResourceLoaderFileModule; /** * ResourceLoader module for print styles. + * + * This class is also used when rendering styles for the MediaWiki installer. + * Do not rely on any of the normal global state, services, etc., and make sure + * to test the installer after making any changes here. */ class ResourceLoaderLessModule extends ResourceLoaderFileModule { /** @@ -39,8 +44,13 @@ class ResourceLoaderLessModule extends ResourceLoaderFileModule { */ protected function getLessVars( ResourceLoaderContext $context ) { $lessVars = parent::getLessVars( $context ); - $config = MediaWikiServices::getInstance()->getConfigFactory()->makeConfig( 'vector' ); - $printLogo = $config->get( 'VectorPrintLogo' ); + try { + $config = MediaWikiServices::getInstance()->getConfigFactory()->makeConfig( 'vector' ); + $printLogo = $config->get( 'VectorPrintLogo' ); + } catch ( ConfigException $e ) { + // Config is not available when running in the context of the MediaWiki installer. (T183640) + $printLogo = false; + } if ( $printLogo ) { $lessVars[ 'printLogo' ] = true; $lessVars[ 'printLogoUrl' ] = CSSMin::buildUrlValue( $printLogo['url'] );