From 46d988733670a354ac3a3627dcc84327c925d52c Mon Sep 17 00:00:00 2001 From: "Mark A. Hershberger" Date: Wed, 30 Jun 2010 04:25:23 +0000 Subject: [PATCH] r68756 - Make the use of MW_CONFIG_CALLBACK compatible with PHP 5.1 --- includes/WebStart.php | 7 ++++++- maintenance/doMaintenance.php | 9 +++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/includes/WebStart.php b/includes/WebStart.php index d62b4a628c..d95ac50084 100644 --- a/includes/WebStart.php +++ b/includes/WebStart.php @@ -101,7 +101,12 @@ require_once( "$IP/includes/AutoLoader.php" ); if ( defined( 'MW_CONFIG_CALLBACK' ) ) { # Use a callback function to configure MediaWiki require_once( "$IP/includes/DefaultSettings.php" ); - call_user_func( MW_CONFIG_CALLBACK ); + + $callback = MW_CONFIG_CALLBACK; + if ( strpos( $callback, '::' ) !== false ) { + $callback = explode( '::', $callback, 2); + } + call_user_func( $callback ); } else { # LocalSettings.php is the per site customization file. If it does not exit # the wiki installer need to be launched or the generated file moved from diff --git a/maintenance/doMaintenance.php b/maintenance/doMaintenance.php index 1fc50b1fda..f10480f591 100644 --- a/maintenance/doMaintenance.php +++ b/maintenance/doMaintenance.php @@ -2,7 +2,7 @@ /** * We want to make this whole thing as seamless as possible to the * end-user. Unfortunately, we can't do _all_ of the work in the class - * because A) included files are not in global scope, but in the scope + * because A) included files are not in global scope, but in the scope * of their caller, and B) MediaWiki has way too many globals. So instead * we'll kinda fake it, and do the requires() inline. <3 PHP * @@ -64,7 +64,12 @@ require_once( "$IP/includes/Defines.php" ); if ( defined( 'MW_CONFIG_CALLBACK' ) ) { # Use a callback function to configure MediaWiki require_once( "$IP/includes/DefaultSettings.php" ); - call_user_func( MW_CONFIG_CALLBACK ); + + $callback = MW_CONFIG_CALLBACK; + if ( strpos( $callback, '::' ) !== false ) { + $callback = explode( '::', $callback, 2); + } + call_user_func( $callback ); } elseif ( file_exists( "$IP/wmf-config/wikimedia-mode" ) ) { // Load settings, using wikimedia-mode if needed // Fixme: replace this hack with general farm-friendly code -- 2.20.1