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
This commit is contained in:
Bartosz Dziewoński 2017-12-27 12:22:18 +01:00
parent 7abf395766
commit ead80732b9
1 changed files with 12 additions and 2 deletions

View File

@ -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'] );