Merge "Warn against certain jQuery methods"
[lhc/web/wiklou.git] / includes / installer / WebInstaller.php
index a3c9506..d8281b0 100644 (file)
@@ -21,6 +21,8 @@
  * @ingroup Deployment
  */
 
+use MediaWiki\MediaWikiServices;
+
 /**
  * Class for the core installer web interface.
  *
@@ -166,18 +168,7 @@ class WebInstaller extends Installer {
                if ( ( $this->getVar( '_InstallDone' ) || $this->getVar( '_UpgradeDone' ) )
                        && $this->request->getVal( 'localsettings' )
                ) {
-                       $this->request->response()->header( 'Content-type: application/x-httpd-php' );
-                       $this->request->response()->header(
-                               'Content-Disposition: attachment; filename="LocalSettings.php"'
-                       );
-
-                       $ls = InstallerOverrides::getLocalSettingsGenerator( $this );
-                       $rightsProfile = $this->rightsProfiles[$this->getVar( '_RightsProfile' )];
-                       foreach ( $rightsProfile as $group => $rightsArr ) {
-                               $ls->setGroupRights( $group, $rightsArr );
-                       }
-                       echo $ls->getText();
-
+                       $this->outputLS();
                        return $this->session;
                }
 
@@ -511,14 +502,14 @@ class WebInstaller extends Installer {
 
                if ( $this->getSession( 'test' ) === null && !$this->request->wasPosted() ) {
                        $wgLanguageCode = $this->getAcceptLanguage();
-                       $wgLang = $wgContLang = Language::factory( $wgLanguageCode );
+                       $wgLang = Language::factory( $wgLanguageCode );
                        RequestContext::getMain()->setLanguage( $wgLang );
                        $this->setVar( 'wgLanguageCode', $wgLanguageCode );
                        $this->setVar( '_UserLang', $wgLanguageCode );
                } else {
                        $wgLanguageCode = $this->getVar( 'wgLanguageCode' );
-                       $wgContLang = Language::factory( $wgLanguageCode );
                }
+               $wgContLang = MediaWikiServices::getInstance()->getContentLanguage();
        }
 
        /**
@@ -758,7 +749,7 @@ class WebInstaller extends Installer {
         */
        public function label( $msg, $forId, $contents, $helpData = "" ) {
                if ( strval( $msg ) == '' ) {
-                       $labelText = '\u{00A0}';
+                       $labelText = "\u{00A0}";
                } else {
                        $labelText = wfMessage( $msg )->escaped();
                }
@@ -1047,7 +1038,7 @@ class WebInstaller extends Installer {
 
                        $items[$value] =
                                Xml::radio( $params['controlName'], $value, $checked, $itemAttribs ) .
-                               '\u{00A0}' .
+                               "\u{00A0}" .
                                Xml::tags( 'label', [ 'for' => $id ], $this->parse(
                                        isset( $params['itemLabels'] ) ?
                                                wfMessage( $params['itemLabels'][$value] )->plain() :
@@ -1231,6 +1222,25 @@ class WebInstaller extends Installer {
                return WebRequest::detectServer();
        }
 
+       /**
+        * Actually output LocalSettings.php for download
+        *
+        * @suppress SecurityCheck-XSS
+        */
+       private function outputLS() {
+               $this->request->response()->header( 'Content-type: application/x-httpd-php' );
+               $this->request->response()->header(
+                       'Content-Disposition: attachment; filename="LocalSettings.php"'
+               );
+
+               $ls = InstallerOverrides::getLocalSettingsGenerator( $this );
+               $rightsProfile = $this->rightsProfiles[$this->getVar( '_RightsProfile' )];
+               foreach ( $rightsProfile as $group => $rightsArr ) {
+                       $ls->setGroupRights( $group, $rightsArr );
+               }
+               echo $ls->getText();
+       }
+
        /**
         * Output stylesheet for web installer pages
         */