class DeleteEqualMessages extends Maintenance {
public function __construct() {
parent::__construct();
- $this->mDescription = 'Deletes all pages in the MediaWiki namespace that are equal to '
- . 'the default message';
+ $this->addDescription( 'Deletes all pages in the MediaWiki namespace that are equal to '
+ . 'the default message' );
$this->addOption( 'delete', 'Actually delete the pages (default: dry run)' );
$this->addOption( 'delete-talk', 'Don\'t leave orphaned talk pages behind during deletion' );
$this->addOption( 'lang-code', 'Check for subpages of this language code (default: root '
$l10nCache = Language::getLocalisationCache();
$messageNames = $l10nCache->getSubitemList( 'en', 'messages' );
// Normalise message names for NS_MEDIAWIKI page_title
- $messageNames = array_map( array( $wgContLang, 'ucfirst' ), $messageNames );
+ $messageNames = array_map( [ $wgContLang, 'ucfirst' ], $messageNames );
$statuses = AllMessagesTablePager::getCustomisedStatuses(
$messageNames, $langCode, $nonContLang );
$actual === $default
) {
$hasTalk = isset( $statuses['talks'][$key] );
- $messageInfo['results'][] = array(
+ $messageInfo['results'][] = [
'title' => $key . $titleSuffix,
'hasTalk' => $hasTalk,
- );
+ ];
$messageInfo['equalPages']++;
if ( $hasTalk ) {
$messageInfo['equalPagesTalks']++;
$doDeleteTalk = $this->hasOption( 'delete-talk' );
$langCode = $this->getOption( 'lang-code' );
- $messageInfo = array(
+ $messageInfo = [
'relevantPages' => 0,
'equalPages' => 0,
'equalPagesTalks' => 0,
- 'results' => array(),
- );
+ 'results' => [],
+ ];
$this->output( 'Checking for pages with default message...' );
return;
}
- $user = User::newFromName( 'MediaWiki default' );
+ $user = User::newSystemUser( 'MediaWiki default', [ 'steal' => true ] );
if ( !$user ) {
$this->error( "Invalid username", true );
}
// Handle deletion
$this->output( "\n...deleting equal messages (this may take a long time!)..." );
- $dbw = wfGetDB( DB_MASTER );
+ $dbw = $this->getDB( DB_MASTER );
foreach ( $messageInfo['results'] as $result ) {
wfWaitForSlaves();
$dbw->ping();