Daniel Kinzler has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/351873 )

Change subject: Load default settings in WikibaseSettings.
......................................................................

Load default settings in WikibaseSettings.

Change-Id: I3ba7103195bdddf46a286cc7a54c293eca3ad527
---
M client/WikibaseClient.php
M lib/includes/WikibaseSettings.php
M repo/Wikibase.php
3 files changed, 17 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/73/351873/1

diff --git a/client/WikibaseClient.php b/client/WikibaseClient.php
index 275afce..83a1801 100644
--- a/client/WikibaseClient.php
+++ b/client/WikibaseClient.php
@@ -258,10 +258,7 @@
                include __DIR__ . '/resources/Resources.php'
        );
 
-       $wgWBClientSettings = array_merge(
-               require __DIR__ . '/../lib/config/WikibaseLib.default.php',
-               require __DIR__ . '/config/WikibaseClient.default.php'
-       );
+       $wgWBClientSettings = [];
 
        $wgRecentChangesFlags['wikibase-edit'] = array(
                'letter' => 'wikibase-rc-wikibase-edit-letter',
diff --git a/lib/includes/WikibaseSettings.php 
b/lib/includes/WikibaseSettings.php
index b4869c4..0705a75 100644
--- a/lib/includes/WikibaseSettings.php
+++ b/lib/includes/WikibaseSettings.php
@@ -42,7 +42,12 @@
                        throw new MWException( 'Cannot access repo settings: 
Wikibase Repository component is not enabled!' );
                }
 
-               $settings = self::getSettings( 'wgWBRepoSettings' );
+               $defaults = array_merge(
+                       require __DIR__ . 
'/../../lib/config/WikibaseLib.default.php',
+                       require __DIR__ . 
'/../../repo/config/Wikibase.default.php'
+               );
+
+               $settings = self::getSettings( 'wgWBRepoSettings', $defaults );
                $settings->setSetting( 'entityNamespaces', 
self::buildEntityNamespaceConfigurations( $settings ) );
                return $settings;
        }
@@ -64,7 +69,12 @@
                        throw new MWException( 'Cannot access client settings: 
Wikibase Client component is not enabled!' );
                }
 
-               $settings = self::getSettings( 'wgWBClientSettings' );
+               $defaults = array_merge(
+                       require __DIR__ . 
'/../../lib/config/WikibaseLib.default.php',
+                       require __DIR__ . 
'/../../client/config/WikibaseClient.default.php'
+               );
+
+               $settings = self::getSettings( 'wgWBClientSettings', $defaults 
);
                $settings->setSetting( 'entityNamespaces', 
self::buildEntityNamespaceConfigurations( $settings ) );
                return $settings;
        }
@@ -74,10 +84,11 @@
         * This is intended to be used to access settings specified in 
LocalSettings.php.
         *
         * @param string $var The name of a global variable.
+        * @param array $defaults
         *
         * @return SettingsArray
         */
-       private static function getSettings( $var ) {
+       private static function getSettings( $var, array $defaults = [] ) {
                if ( !isset( $GLOBALS[$var] ) ) {
                        throw new OutOfBoundsException( 'No such global 
configuration variable: ' . $var );
                }
@@ -86,8 +97,7 @@
                        throw new OutOfBoundsException( 'Not a Wikibase 
configuration array: ' . $var );
                }
 
-               $settings = $GLOBALS[$var];
-
+               $settings = array_merge( $defaults, $GLOBALS[$var] );
                return new SettingsArray( $settings );
        }
 
diff --git a/repo/Wikibase.php b/repo/Wikibase.php
index 7c142d9..ec4085a 100644
--- a/repo/Wikibase.php
+++ b/repo/Wikibase.php
@@ -990,8 +990,5 @@
                include __DIR__ . '/resources/Resources.php'
        );
 
-       $wgWBRepoSettings = array_merge(
-               require __DIR__ . '/../lib/config/WikibaseLib.default.php',
-               require __DIR__ . '/config/Wikibase.default.php'
-       );
+       $wgWBRepoSettings = [];
 } );

-- 
To view, visit https://gerrit.wikimedia.org/r/351873
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3ba7103195bdddf46a286cc7a54c293eca3ad527
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Daniel Kinzler <daniel.kinz...@wikimedia.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to