X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FcleanupTitles.php;h=7f0e340a4ad9c622dc6338f47d34a8d502f6d8cc;hb=3ea30167fbbcb684370eb436a017cd42cc092fad;hp=8c782d996406148e2493078bf5310eea97cba0ef;hpb=2b6f3f0adc475da7eab1ef04dfe917e5536e6e10;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/cleanupTitles.php b/maintenance/cleanupTitles.php index 8c782d9964..7f0e340a4a 100644 --- a/maintenance/cleanupTitles.php +++ b/maintenance/cleanupTitles.php @@ -38,15 +38,15 @@ class TitleCleanup extends TableCleanup { public function __construct() { parent::__construct(); $this->addDescription( 'Script to clean up broken, unparseable titles' ); + $this->batchSize = 1000; } /** * @param object $row */ protected function processRow( $row ) { - global $wgContLang; $display = Title::makeName( $row->page_namespace, $row->page_title ); - $verified = $wgContLang->normalize( $display ); + $verified = MediaWikiServices::getInstance()->getContentLanguage()->normalize( $display ); $title = Title::newFromText( $verified ); if ( !is_null( $title ) @@ -137,7 +137,8 @@ class TitleCleanup extends TableCleanup { || $title->getInterwiki() || !$title->canExist() ) { - if ( $title->getInterwiki() || !$title->canExist() ) { + $titleImpossible = $title->getInterwiki() || !$title->canExist(); + if ( $titleImpossible ) { $prior = $title->getPrefixedDBkey(); } else { $prior = $title->getDBkey(); @@ -155,7 +156,12 @@ class TitleCleanup extends TableCleanup { $ns = 0; } - $clean = 'Broken/' . $prior; + if ( !$titleImpossible && !$title->exists() ) { + // Looks like the current title, after cleaning it up, is valid and available + $clean = $prior; + } else { + $clean = 'Broken/' . $prior; + } $verified = Title::makeTitleSafe( $ns, $clean ); if ( !$verified || $verified->exists() ) { $blah = "Broken/id:" . $row->page_id;