* @ingroup Maintenance
*/
+use MediaWiki\MediaWikiServices;
+
require_once __DIR__ . '/cleanupTable.inc';
/**
'callback' => 'processRow',
];
+ /** @var LocalRepo|null */
+ private $repo;
+
public function __construct() {
parent::__construct();
$this->addDescription( 'Script to clean up broken, unparseable upload filenames' );
}
protected function processRow( $row ) {
- global $wgContLang;
-
$source = $row->img_name;
if ( $source == '' ) {
// Ye olde empty rows. Just kill them.
// We also have some HTML entities there
$cleaned = Sanitizer::decodeCharReferences( $cleaned );
+ $contLang = MediaWikiServices::getInstance()->getContentLanguage();
+
// Some are old latin-1
- $cleaned = $wgContLang->checkTitleEncoding( $cleaned );
+ $cleaned = $contLang->checkTitleEncoding( $cleaned );
// Many of remainder look like non-normalized unicode
- $cleaned = $wgContLang->normalize( $cleaned );
+ $cleaned = $contLang->normalize( $cleaned );
$title = Title::makeTitleSafe( NS_FILE, $cleaned );
}
}
+ /**
+ * @param string $name
+ * @return string
+ */
private function filePath( $name ) {
- if ( !isset( $this->repo ) ) {
+ if ( $this->repo === null ) {
$this->repo = RepoGroup::singleton()->getLocalRepo();
}