diff options
Diffstat (limited to 'includes/registration')
-rw-r--r-- | includes/registration/ExtensionProcessor.php | 1 | ||||
-rw-r--r-- | includes/registration/ExtensionRegistry.php | 20 |
2 files changed, 20 insertions, 1 deletions
diff --git a/includes/registration/ExtensionProcessor.php b/includes/registration/ExtensionProcessor.php index 7f738661..bb8fb329 100644 --- a/includes/registration/ExtensionProcessor.php +++ b/includes/registration/ExtensionProcessor.php @@ -81,6 +81,7 @@ class ExtensionProcessor implements Processor { 'config', 'ParserTestFiles', 'AutoloadClasses', + 'manifest_version', ); /** diff --git a/includes/registration/ExtensionRegistry.php b/includes/registration/ExtensionRegistry.php index 2558f7e2..4e690aa8 100644 --- a/includes/registration/ExtensionRegistry.php +++ b/includes/registration/ExtensionRegistry.php @@ -109,6 +109,24 @@ class ExtensionRegistry { } /** + * Get the current load queue. Not intended to be used + * outside of the installer. + * + * @return array + */ + public function getQueue() { + return $this->queued; + } + + /** + * Clear the current load queue. Not intended to be used + * outside of the installer. + */ + public function clearQueue() { + $this->queued = array(); + } + + /** * Process a queue of extensions and return their extracted data * * @param array $queue keys are filenames, values are ignored @@ -143,7 +161,7 @@ class ExtensionRegistry { protected function exportExtractedData( array $info ) { foreach ( $info['globals'] as $key => $val ) { - if ( !isset( $GLOBALS[$key] ) || !$GLOBALS[$key] ) { + if ( !isset( $GLOBALS[$key] ) || ( is_array( $GLOBALS[$key] ) && !$GLOBALS[$key] ) ) { $GLOBALS[$key] = $val; } elseif ( $key === 'wgHooks' || $key === 'wgExtensionCredits' ) { // Special case $wgHooks and $wgExtensionCredits, which require a recursive merge. |