30e9069a3236a349f4ef270dd933574ba8768d21
6 require_once( "Maintenance.php" );
8 class CheckAutoLoader
extends Maintenance
{
9 public function __construct() {
10 parent
::__construct();
11 $this->mDescription
= "AutoLoader sanity checks";
13 public function execute() {
14 global $wgAutoloadLocalClasses, $IP;
15 $files = array_unique( $wgAutoloadLocalClasses );
17 foreach( $files as $file ) {
18 if( function_exists( 'parsekit_compile_file' ) ){
19 $parseInfo = parsekit_compile_file( "$IP/$file" );
20 $classes = array_keys( $parseInfo['class_table'] );
22 $contents = file_get_contents( "$IP/$file" );
24 preg_match_all( '/\n\s*class\s+([a-zA-Z0-9_]+)/', $contents, $m, PREG_PATTERN_ORDER
);
27 foreach ( $classes as $class ) {
28 if ( !isset( $wgAutoloadLocalClasses[$class] ) ) {
29 //printf( "%-50s Unlisted, in %s\n", $class, $file );
30 $this->output( "\t'$class' => '$file',\n" );
31 } elseif ( $wgAutoloadLocalClasses[$class] !== $file ) {
32 $this->output( "$class: Wrong file: found in $file, listed in " . $wgAutoloadLocalClasses[$class] . "\n" );
39 $maintClass = "CheckAutoLoader";
40 require_once( DO_MAINTENANCE
);