installer: Use wfLoadExtension/Skin in LocalSettingsGenerator
[lhc/web/wiklou.git] / includes / installer / Installer.php
index dc52554..b40b3f1 100644 (file)
@@ -186,7 +186,6 @@ abstract class Installer {
                'wgUseInstantCommons',
                'wgUpgradeKey',
                'wgDefaultSkin',
-               'wgResourceLoaderMaxQueryLength',
        );
 
        /**
@@ -285,15 +284,15 @@ abstract class Installer {
         */
        public $licenses = array(
                'cc-by' => array(
-                       'url' => 'http://creativecommons.org/licenses/by/3.0/',
+                       'url' => 'https://creativecommons.org/licenses/by/3.0/',
                        'icon' => '{$wgResourceBasePath}/resources/assets/licenses/cc-by.png',
                ),
                'cc-by-sa' => array(
-                       'url' => 'http://creativecommons.org/licenses/by-sa/3.0/',
+                       'url' => 'https://creativecommons.org/licenses/by-sa/3.0/',
                        'icon' => '{$wgResourceBasePath}/resources/assets/licenses/cc-by-sa.png',
                ),
                'cc-by-nc-sa' => array(
-                       'url' => 'http://creativecommons.org/licenses/by-nc-sa/3.0/',
+                       'url' => 'https://creativecommons.org/licenses/by-nc-sa/3.0/',
                        'icon' => '{$wgResourceBasePath}/resources/assets/licenses/cc-by-nc-sa.png',
                ),
                'cc-0' => array(
@@ -305,7 +304,7 @@ abstract class Installer {
                        'icon' => '{$wgResourceBasePath}/resources/assets/licenses/public-domain.png',
                ),
                'gfdl' => array(
-                       'url' => 'http://www.gnu.org/copyleft/fdl.html',
+                       'url' => 'https://www.gnu.org/copyleft/fdl.html',
                        'icon' => '{$wgResourceBasePath}/resources/assets/licenses/gnu-fdl.png',
                ),
                'none' => array(
@@ -1141,9 +1140,6 @@ abstract class Installer {
         * Check the libicu version
         */
        protected function envCheckLibicu() {
-               $utf8 = function_exists( 'utf8_normalize' );
-               $intl = function_exists( 'normalizer_normalize' );
-
                /**
                 * This needs to be updated something that the latest libicu
                 * will properly normalize.  This normalization was found at
@@ -1157,18 +1153,7 @@ abstract class Installer {
                $useNormalizer = 'php';
                $needsUpdate = false;
 
-               /**
-                * We're going to prefer the pecl extension here unless
-                * utf8_normalize is more up to date.
-                */
-               if ( $utf8 ) {
-                       $useNormalizer = 'utf8';
-                       $utf8 = utf8_normalize( $not_normal_c, UtfNormal::UNORM_NFC );
-                       if ( $utf8 !== $normal_c ) {
-                               $needsUpdate = true;
-                       }
-               }
-               if ( $intl ) {
+               if ( function_exists( 'normalizer_normalize' ) ) {
                        $useNormalizer = 'intl';
                        $intl = normalizer_normalize( $not_normal_c, Normalizer::FORM_C );
                        if ( $intl !== $normal_c ) {
@@ -1176,8 +1161,7 @@ abstract class Installer {
                        }
                }
 
-               // Uses messages 'config-unicode-using-php', 'config-unicode-using-utf8',
-               // 'config-unicode-using-intl'
+               // Uses messages 'config-unicode-using-php' and 'config-unicode-using-intl'
                if ( $useNormalizer === 'php' ) {
                        $this->showMessage( 'config-unicode-pure-php-warning' );
                } else {
@@ -1376,7 +1360,7 @@ abstract class Installer {
                                }
 
                                try {
-                                       $text = Http::get( $url . $file, array( 'timeout' => 3 ) );
+                                       $text = Http::get( $url . $file, array( 'timeout' => 3 ), __METHOD__ );
                                } catch ( Exception $e ) {
                                        // Http::get throws with allow_url_fopen = false and no curl extension.
                                        $text = null;
@@ -1452,13 +1436,16 @@ abstract class Installer {
                        return array();
                }
 
+               // extensions -> extension.json, skins -> skin.json
+               $jsonFile = substr( $directory, 0, strlen( $directory ) -1 ) . '.json';
+
                $dh = opendir( $extDir );
                $exts = array();
                while ( ( $file = readdir( $dh ) ) !== false ) {
                        if ( !is_dir( "$extDir/$file" ) ) {
                                continue;
                        }
-                       if ( file_exists( "$extDir/$file/$file.php" ) ) {
+                       if ( file_exists( "$extDir/$file/$jsonFile" ) || file_exists( "$extDir/$file/$file.php" ) ) {
                                $exts[] = $file;
                        }
                }
@@ -1724,7 +1711,7 @@ abstract class Installer {
 
                if ( MWHttpRequest::canMakeRequests() ) {
                        $res = MWHttpRequest::factory( $this->mediaWikiAnnounceUrl,
-                               array( 'method' => 'POST', 'postData' => $params ) )->execute();
+                               array( 'method' => 'POST', 'postData' => $params ), __METHOD__ )->execute();
                        if ( !$res->isOK() ) {
                                $s->warning( 'config-install-subscribe-fail', $res->getMessage() );
                        }