From: Mark A. Hershberger Date: Wed, 30 Jun 2010 04:25:23 +0000 (+0000) Subject: r68756 - Make the use of MW_CONFIG_CALLBACK compatible with PHP 5.1 X-Git-Tag: 1.31.0-rc.0~36339 X-Git-Url: http://git.cyclocoop.org/ecrire?a=commitdiff_plain;h=46d988733670a354ac3a3627dcc84327c925d52c;p=lhc%2Fweb%2Fwiklou.git r68756 - Make the use of MW_CONFIG_CALLBACK compatible with PHP 5.1 --- 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