X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FcleanupBlocks.php;h=db51e4b3d495dd941bacb87aefe40faaa1aa30ad;hb=5cab4cb67af3564bcd51db05a06b015787b3a4cd;hp=cbf008415e2e199e2350548219ff6c12b3493be5;hpb=095a2a05b2aaccff26d7b871194a4edccd092707;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/cleanupBlocks.php b/maintenance/cleanupBlocks.php index cbf008415e..db51e4b3d4 100644 --- a/maintenance/cleanupBlocks.php +++ b/maintenance/cleanupBlocks.php @@ -23,6 +23,8 @@ require_once __DIR__ . '/Maintenance.php'; +use MediaWiki\Block\DatabaseBlock; + /** * Maintenance script to clean up user blocks with user names not matching the * 'user' table. @@ -39,7 +41,7 @@ class CleanupBlocks extends Maintenance { public function execute() { $db = $this->getDB( DB_MASTER ); - $blockQuery = Block::getQueryInfo(); + $blockQuery = DatabaseBlock::getQueryInfo(); $max = $db->selectField( 'ipblocks', 'MAX(ipb_user)' ); @@ -77,14 +79,14 @@ class CleanupBlocks extends Maintenance { $blockQuery['joins'] ); foreach ( $res2 as $row2 ) { - $block = Block::newFromRow( $row2 ); + $block = DatabaseBlock::newFromRow( $row2 ); if ( !$bestBlock ) { $bestBlock = $block; continue; } // Find the most-restrictive block. Can't use - // Block::chooseBlock because that's for IP blocks, not + // DatabaseBlock::chooseBlock because that's for IP blocks, not // user blocks. $keep = null; if ( $keep === null && $block->getExpiry() !== $bestBlock->getExpiry() ) { @@ -92,11 +94,12 @@ class CleanupBlocks extends Maintenance { $keep = $block->getExpiry() > $bestBlock->getExpiry(); } if ( $keep === null ) { - foreach ( [ 'createaccount', 'sendemail', 'editownusertalk' ] as $action ) { - if ( $block->prevents( $action ) xor $bestBlock->prevents( $action ) ) { - $keep = $block->prevents( $action ); - break; - } + if ( $block->isCreateAccountBlocked() xor $bestBlock->isCreateAccountBlocked() ) { + $keep = $block->isCreateAccountBlocked(); + } elseif ( $block->isEmailBlocked() xor $bestBlock->isEmailBlocked() ) { + $keep = $block->isEmailBlocked(); + } elseif ( $block->isUsertalkEditAllowed() xor $bestBlock->isUsertalkEditAllowed() ) { + $keep = $block->isUsertalkEditAllowed(); } }