Merge "Made LoadBalancer debug log entries use "localhost" placeholder"
[lhc/web/wiklou.git] / includes / installer / WebInstallerOutput.php
index 3094d55..0ccdb11 100644 (file)
@@ -133,26 +133,24 @@ class WebInstallerOutput {
                        'mediawiki.skinning.interface',
                );
 
-               if ( file_exists( "$wgStyleDirectory/Vector/Vector.php" ) ) {
+               $resourceLoader = new ResourceLoader();
+
+               if ( file_exists( "$wgStyleDirectory/Vector/skin.json" ) ) {
                        // Force loading Vector skin if available as a fallback skin
                        // for whatever ResourceLoader wants to have as the default.
-
-                       // Include instead of require, as this will work without it, it will just look bad.
-                       // We need the 'global' statement for $wgResourceModules because the Vector skin adds the
-                       // definitions for its RL modules there that we use implicitly below.
-
-                       // @codingStandardsIgnoreStart
-                       global $wgResourceModules; // This is NOT UNUSED!
-                       // @codingStandardsIgnoreEnd
-
-                       include_once "$wgStyleDirectory/Vector/Vector.php";
+                       $registry = new ExtensionRegistry();
+                       $data = $registry->readFromQueue( array(
+                               "$wgStyleDirectory/Vector/skin.json" => 1,
+                       ) );
+                       if ( isset( $data['globals']['wgResourceModules'] ) ) {
+                               $resourceLoader->register( $data['globals']['wgResourceModules'] );
+                       }
 
                        $moduleNames[] = 'skins.vector.styles';
                }
 
                $moduleNames[] = 'mediawiki.legacy.config';
 
-               $resourceLoader = new ResourceLoader();
                $rlContext = new ResourceLoaderContext( $resourceLoader, new FauxRequest( array(
                                'debug' => 'true',
                                'lang' => $this->getLanguageCode(),
@@ -163,6 +161,10 @@ class WebInstallerOutput {
                foreach ( $moduleNames as $moduleName ) {
                        /** @var ResourceLoaderFileModule $module */
                        $module = $resourceLoader->getModule( $moduleName );
+                       if ( !$module ) {
+                               // T98043: Don't fatal, but it won't look as pretty.
+                               continue;
+                       }
 
                        // Based on: ResourceLoaderFileModule::getStyles (without the DB query)
                        $styles = array_merge( $styles, ResourceLoader::makeCombinedStyles(
@@ -227,7 +229,7 @@ class WebInstallerOutput {
        public function getHeadAttribs() {
                return array(
                        'dir' => $this->getDir(),
-                       'lang' => $this->getLanguageCode(),
+                       'lang' => wfBCP47( $this->getLanguageCode() ),
                );
        }
 
@@ -296,11 +298,14 @@ class WebInstallerOutput {
                href="https://www.mediawiki.org/"
                title="Main Page"></a>
        </div>
-       <div class="portal"><div class="body">
 <?php
-       echo $this->parent->parse( wfMessage( 'config-sidebar' )->plain(), true );
+       $message = wfMessage( 'config-sidebar' )->plain();
+       foreach ( explode( '----', $message ) as $section ) {
+               echo '<div class="portal"><div class="body">';
+               echo $this->parent->parse( $section, true );
+               echo '</div></div>';
+       }
 ?>
-       </div></div>
 </div>
 
 <?php