Updater: Avoid fatal on wfLoadSkin/wfLoadExtension
authorumherirrender <umherirrender_de.wp@web.de>
Mon, 27 Jul 2015 19:04:36 +0000 (21:04 +0200)
committerumherirrender <umherirrender_de.wp@web.de>
Mon, 27 Jul 2015 19:04:36 +0000 (21:04 +0200)
When having $wgExtensionDirectory or $wgStyleDirectory set to a
different location in LocalSettings.php, the load of LocalSettings.php
can give fatal, because the called functions wfLoadSkin and
wfLoadExtensions need at least this globals to be set correctly.

This does not bring the vector skin back to the updater, when having the
globals set, but it avoids a fatal about "MonoBook/skin.json does not
exist!" or similar.

Change-Id: I095c545f77aa50d6be4cd48588bd1ae1c82cf343

includes/installer/Installer.php

index 2818349..c4a9b76 100644 (file)
@@ -538,6 +538,10 @@ abstract class Installer {
                global $wgAutoloadClasses;
                $wgAutoloadClasses = array();
 
+               // LocalSettings.php should not call functions, except wfLoadSkin/wfLoadExtensions
+               // Define the requiered globals here, to ensure, the functions can do it work correctly.
+               global $wgExtensionDirectory, $wgStyleDirectory;
+
                MediaWiki\suppressWarnings();
                $_lsExists = file_exists( "$IP/LocalSettings.php" );
                MediaWiki\restoreWarnings();