From 749449a5f4ad2265eed5be67b46114f7dd4757e8 Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Thu, 29 Jun 2006 08:26:30 +0000 Subject: [PATCH] Force early binding of SpecialPage descendants. --- includes/AutoLoader.php | 9 +++++++++ 1 file changed, 9 insertions(+) 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 ); -- 2.20.1