From 222b01f5169f1c7e69762e0e8904c24f78f71882 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Wed, 28 Jul 2010 11:52:48 +0200 Subject: update to MediaWiki 1.16.0 --- maintenance/checkAutoLoader.php | 70 ++++++++++++++++++++++++++++------------- 1 file changed, 49 insertions(+), 21 deletions(-) (limited to 'maintenance/checkAutoLoader.php') diff --git a/maintenance/checkAutoLoader.php b/maintenance/checkAutoLoader.php index 554395ca..9c8f29e3 100644 --- a/maintenance/checkAutoLoader.php +++ b/maintenance/checkAutoLoader.php @@ -1,29 +1,57 @@ mDescription = "AutoLoader sanity checks"; } - foreach ( $classes as $class ) { - if ( !isset( $wgAutoloadLocalClasses[$class] ) ) { - //printf( "%-50s Unlisted, in %s\n", $class, $file ); - echo " '$class' => '$file',\n"; - } elseif ( $wgAutoloadLocalClasses[$class] !== $file ) { - echo "$class: Wrong file: found in $file, listed in " . $wgAutoloadLocalClasses[$class] . "\n"; + public function execute() { + global $wgAutoloadLocalClasses, $IP; + $files = array_unique( $wgAutoloadLocalClasses ); + + foreach( $files as $file ) { + if( function_exists( 'parsekit_compile_file' ) ){ + $parseInfo = parsekit_compile_file( "$IP/$file" ); + $classes = array_keys( $parseInfo['class_table'] ); + } else { + $contents = file_get_contents( "$IP/$file" ); + $m = array(); + preg_match_all( '/\n\s*class\s+([a-zA-Z0-9_]+)/', $contents, $m, PREG_PATTERN_ORDER ); + $classes = $m[1]; + } + foreach ( $classes as $class ) { + if ( !isset( $wgAutoloadLocalClasses[$class] ) ) { + //printf( "%-50s Unlisted, in %s\n", $class, $file ); + $this->output( "\t'$class' => '$file',\n" ); + } elseif ( $wgAutoloadLocalClasses[$class] !== $file ) { + $this->output( "$class: Wrong file: found in $file, listed in " . $wgAutoloadLocalClasses[$class] . "\n" ); + } + } } } - } - +$maintClass = "CheckAutoLoader"; +require_once( DO_MAINTENANCE ); -- cgit v1.2.3-54-g00ecf