From: Tim Starling Date: Thu, 29 Jun 2006 08:26:30 +0000 (+0000) Subject: Force early binding of SpecialPage descendants. X-Git-Tag: 1.31.0-rc.0~56531 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dcompta/comptes/journal.php?a=commitdiff_plain;h=749449a5f4ad2265eed5be67b46114f7dd4757e8;p=lhc%2Fweb%2Fwiklou.git Force early binding of SpecialPage descendants. --- diff --git a/includes/AutoLoader.php b/includes/AutoLoader.php index d023303e55..85910157c0 100644 --- a/includes/AutoLoader.php +++ b/includes/AutoLoader.php @@ -230,6 +230,15 @@ function __autoload($className) { function wfLoadAllExtensions() { global $wgAutoloadClasses; + + # It is crucial that SpecialPage.php is included before any special page + # extensions are loaded. Otherwise the parent class will not be available + # when APC loads the early-bound extension class. Normally this is + # guaranteed by entering special pages via SpecialPage members such as + # executePath(), but here we have to take a more explicit measure. + + require_once( 'SpecialPage.php' ); + foreach( $wgAutoloadClasses as $class => $file ) { if ( ! class_exists( $class ) ) { require( $file );