X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/journal.php?a=blobdiff_plain;f=maintenance%2Forphans.php;h=7acf6d8279dc41496cd06f3b040b251f2128e454;hb=27c61fb1e94da9114314468fd00bcf129ec064b6;hp=e36c5b67dd544ae398c38510cba762a4c4c653ea;hpb=d5a7166771613dfe4ed9fb75fa5efeced6134bd1;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/orphans.php b/maintenance/orphans.php index e36c5b67dd..7acf6d8279 100644 --- a/maintenance/orphans.php +++ b/maintenance/orphans.php @@ -75,20 +75,26 @@ class Orphans extends Maintenance { */ private function checkOrphans( $fix ) { $dbw = $this->getDB( DB_MASTER ); - $page = $dbw->tableName( 'page' ); - $revision = $dbw->tableName( 'revision' ); + $commentStore = CommentStore::getStore(); if ( $fix ) { $this->lockTables( $dbw ); } + $commentQuery = $commentStore->getJoin( 'rev_comment' ); + $actorQuery = ActorMigration::newMigration()->getJoin( 'rev_user' ); + $this->output( "Checking for orphan revision table entries... " . "(this may take a while on a large wiki)\n" ); - $result = $dbw->query( " - SELECT * - FROM $revision LEFT OUTER JOIN $page ON rev_page=page_id - WHERE page_id IS NULL - " ); + $result = $dbw->select( + [ 'revision', 'page' ] + $commentQuery['tables'] + $actorQuery['tables'], + [ 'rev_id', 'rev_page', 'rev_timestamp' ] + $commentQuery['fields'] + $actorQuery['fields'], + [ 'page_id' => null ], + __METHOD__, + [], + [ 'page' => [ 'LEFT JOIN', [ 'rev_page=page_id' ] ] ] + $commentQuery['joins'] + + $actorQuery['joins'] + ); $orphans = $result->numRows(); if ( $orphans > 0 ) { global $wgContLang; @@ -100,9 +106,10 @@ class Orphans extends Maintenance { ) ); foreach ( $result as $row ) { - $comment = ( $row->rev_comment == '' ) - ? '' - : '(' . $wgContLang->truncate( $row->rev_comment, 40 ) . ')'; + $comment = $commentStore->getComment( 'rev_comment', $row )->text; + if ( $comment !== '' ) { + $comment = '(' . $wgContLang->truncate( $comment, 40 ) . ')'; + } $this->output( sprintf( "%10d %10d %14s %20s %s\n", $row->rev_id, $row->rev_page, @@ -197,8 +204,8 @@ class Orphans extends Maintenance { $result2 = $dbw->query( " SELECT MAX(rev_timestamp) as max_timestamp FROM $revision - WHERE rev_page=$row->page_id - " ); + WHERE rev_page=" . (int)( $row->page_id ) + ); $row2 = $dbw->fetchObject( $result2 ); if ( $row2 ) { if ( $row->rev_timestamp != $row2->max_timestamp ) { @@ -247,5 +254,5 @@ class Orphans extends Maintenance { } } -$maintClass = "Orphans"; +$maintClass = Orphans::class; require_once RUN_MAINTENANCE_IF_MAIN;