Apply ^demon's patch. Reason was: fixes mismatched <tbody> issue from when child...
[lhc/web/wiklou.git] / maintenance / checkImages.php
index 2102bcf..378caa3 100644 (file)
@@ -1,63 +1,51 @@
 <?php
-/**
- * Check images to see if they exist, are readable, etc etc
- */
-require_once( "Maintenance.php" );
 
-class CheckImages extends Maintenance {
+require( 'commandLine.inc' );
 
-       public function __construct() {
-               parent::__construct();
-               $this->mDescription = "Check images to see if they exist, are readable, etc";
-       }
-       
-       public function execute() {
-               $batchSize = 1000;
-               $start = '';
-               $dbr = wfGetDB( DB_SLAVE );
-
-               $numImages = 0;
-               $numGood = 0;
-       
-               do {
-                       $res = $dbr->select( 'image', '*', array( 'img_name > ' . $dbr->addQuotes( $start ) ), 
-                               __METHOD__, array( 'LIMIT' => $batchSize ) );
-                       foreach ( $res as $row ) {
-                               $numImages++;
-                               $start = $row->img_name;
-                               $file = RepoGroup::singleton()->getLocalRepo()->newFileFromRow( $row );
-                               $path = $file->getPath();
-                               if ( !$path ) {
-                                       $this->output( "{$row->img_name}: not locally accessible\n";
-                                       continue;
-                               }
-                               $stat = @stat( $file->getPath() );
-                               if ( !$stat ) {
-                                       $this->output( "{$row->img_name}: missing\n" );
-                                       continue;
-                               }
-       
-                               if ( $stat['mode'] & 040000 ) {
-                                       $this->output( "{$row->img_name}: is a directory\n" );
-                                       continue;
-                               }
-       
-                               if ( $stat['size'] == 0 && $row->img_size != 0 ) {
-                                       $this->output( "{$row->img_name}: truncated, was {$row->img_size}\n" );
-                                       continue;
-                               }
-       
-                               if ( $stat['size'] != $row->img_size ) {
-                                       $this->output( "{$row->img_name}: size mismatch DB={$row->img_size}, actual={$stat['size']}\n" );
-                                       continue;
-                               }
-       
-                               $numGood++;
-                       }
-       
-               } while ( $res->numRows() );
-       
-               $this->output( "Good images: $numGood/$numImages\n" );
+$batchSize = 1000;
+$start = '';
+$dbr = wfGetDB( DB_SLAVE );
+$localRepo = RepoGroup::singleton()->getLocalRepo();
+
+$numImages = 0;
+$numGood = 0;
+
+do {
+       $res = $dbr->select( 'image', '*', array( 'img_name > ' . $dbr->addQuotes( $start ) ), 
+               'checkImages.php', array( 'LIMIT' => $batchSize ) );
+       foreach ( $res as $row ) {
+               $numImages++;
+               $start = $row->img_name;
+               $file = $localRepo->newFileFromRow( $row );
+               $path = $file->getPath();
+               if ( !$path ) {
+                       echo "{$row->img_name}: not locally accessible\n";
+                       continue;
+               }
+               $stat = @stat( $file->getPath() );
+               if ( !$stat ) {
+                       echo "{$row->img_name}: missing\n";
+                       continue;
+               }
+
+               if ( $stat['mode'] & 040000 ) {
+                       echo "{$row->img_name}: is a directory\n";
+                       continue;
+               }
+
+               if ( $stat['size'] == 0 && $row->img_size != 0 ) {
+                       echo "{$row->img_name}: truncated, was {$row->img_size}\n";
+                       continue;
+               }
+
+               if ( $stat['size'] != $row->img_size ) {
+                       echo "{$row->img_name}: size mismatch DB={$row->img_size}, actual={$stat['size']}\n";
+                       continue;
+               }
+
+               $numGood++;
        }
-}
 
+} while ( $res->numRows() );
+
+echo "Good images: $numGood/$numImages\n";