diff options
Diffstat (limited to 'maintenance/rebuildImages.php')
-rw-r--r-- | maintenance/rebuildImages.php | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/maintenance/rebuildImages.php b/maintenance/rebuildImages.php index 17111831..fe3b35c9 100644 --- a/maintenance/rebuildImages.php +++ b/maintenance/rebuildImages.php @@ -27,7 +27,7 @@ * * @file * @author Brion Vibber <brion at pobox.com> - * @ingroup maintenance + * @ingroup Maintenance */ require_once( dirname( __FILE__ ) . '/Maintenance.php' ); @@ -148,8 +148,7 @@ class ImageBuilder extends Maintenance { } function buildOldImage() { - $this->buildTable( 'oldimage', 'oi_archive_name', - array( $this, 'oldimageCallback' ) ); + $this->buildTable( 'oldimage', 'oi_archive_name', array( $this, 'oldimageCallback' ) ); } function oldimageCallback( $row, $copy ) { @@ -164,42 +163,33 @@ class ImageBuilder extends Maintenance { } function crawlMissing() { - $repo = RepoGroup::singleton()->getLocalRepo(); - $repo->enumFilesInFS( array( $this, 'checkMissingImage' ) ); + $this->getRepo()->enumFiles( array( $this, 'checkMissingImage' ) ); } function checkMissingImage( $fullpath ) { $filename = wfBaseName( $fullpath ); - if ( is_dir( $fullpath ) ) { - return; - } - if ( is_link( $fullpath ) ) { - $this->output( "skipping symlink at $fullpath\n" ); - return; - } $row = $this->dbw->selectRow( 'image', array( 'img_name' ), array( 'img_name' => $filename ), __METHOD__ ); - if ( $row ) { - // already known, move on - return; - } else { + if ( !$row ) { // file not registered $this->addMissingImage( $filename, $fullpath ); } } function addMissingImage( $filename, $fullpath ) { - $timestamp = $this->dbw->timestamp( filemtime( $fullpath ) ); - global $wgContLang; + + $timestamp = $this->dbw->timestamp( $this->getRepo()->getFileTimestamp( $fullpath ) ); + $altname = $wgContLang->checkTitleEncoding( $filename ); if ( $altname != $filename ) { if ( $this->dryrun ) { $filename = $altname; $this->output( "Estimating transcoding... $altname\n" ); } else { + # @FIXME: create renameFile() $filename = $this->renameFile( $filename ); } } |