PageRenderTime 76ms CodeModel.GetById 30ms RepoModel.GetById 1ms app.codeStats 0ms

/maintenance/checkAutoLoader.php

https://github.com/tav/confluence
PHP | 29 lines | 23 code | 5 blank | 1 comment | 5 complexity | 2ed87d8f676eb6527296a2be6803b2d2 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-3.0
  1. <?php
  2. if ( php_sapi_name() != 'cli' ) exit;
  3. $IP = dirname(__FILE__) .'/..';
  4. require( "$IP/includes/AutoLoader.php" );
  5. $files = array_unique( $wgAutoloadLocalClasses );
  6. foreach ( $files as $file ) {
  7. if( function_exists( 'parsekit_compile_file' ) ){
  8. $parseInfo = parsekit_compile_file( "$IP/$file" );
  9. $classes = array_keys( $parseInfo['class_table'] );
  10. } else {
  11. $contents = file_get_contents( "$IP/$file" );
  12. $m = array();
  13. preg_match_all( '/\n\s*class\s+([a-zA-Z0-9_]+)/', $contents, $m, PREG_PATTERN_ORDER );
  14. $classes = $m[1];
  15. }
  16. foreach ( $classes as $class ) {
  17. if ( !isset( $wgAutoloadLocalClasses[$class] ) ) {
  18. //printf( "%-50s Unlisted, in %s\n", $class, $file );
  19. echo " '$class' => '$file',\n";
  20. } elseif ( $wgAutoloadLocalClasses[$class] !== $file ) {
  21. echo "$class: Wrong file: found in $file, listed in " . $wgAutoloadLocalClasses[$class] . "\n";
  22. }
  23. }
  24. }