registration: Use array_merge() rather than array plus when merging
authorRoan Kattouw <roan.kattouw@gmail.com>
Tue, 31 Mar 2015 00:39:36 +0000 (17:39 -0700)
committerLegoktm <legoktm.wikipedia@gmail.com>
Tue, 31 Mar 2015 00:45:10 +0000 (00:45 +0000)
Because plus doesn't deal with numerical keys well. We do need old values
to win, because LocalSettings.php runs before extension.json files.

Change-Id: I56318fe586776940f7e28ca038dad49d24f24f2e

includes/registration/ExtensionRegistry.php

index 52e860c..c06f7e3 100644 (file)
@@ -156,7 +156,7 @@ class ExtensionRegistry {
                                // Now merge groups that didn't exist yet
                                $GLOBALS[$key] += $val;
                        } elseif ( is_array( $GLOBALS[$key] ) && is_array( $val ) ) {
-                               $GLOBALS[$key] += $val;
+                               $GLOBALS[$key] = array_merge( $val, $GLOBALS[$key] );
                        } // else case is a config setting where it has already been overriden, so don't set it
                }
                foreach ( $info['defines'] as $name => $val ) {