public function __construct() {
parent::__construct();
- $this->mDescription = "Cleanup all spam from a given hostname";
+ $this->addDescription( 'Cleanup all spam from a given hostname' );
$this->addOption( 'all', 'Check all wikis in $wgLocalDatabases' );
$this->addOption( 'delete', 'Delete pages containing only spam instead of blanking them' );
$this->addArg(
global $IP, $wgLocalDatabases, $wgUser;
$username = wfMessage( 'spambot_username' )->text();
- $wgUser = User::newFromName( $username );
+ $wgUser = User::newSystemUser( $username );
if ( !$wgUser ) {
$this->error( "Invalid username specified in 'spambot_username' message: $username", true );
}
$this->output( "Finding spam on " . count( $wgLocalDatabases ) . " wikis\n" );
$found = false;
foreach ( $wgLocalDatabases as $wikiID ) {
- $dbr = wfGetDB( DB_SLAVE, array(), $wikiID );
+ $dbr = $this->getDB( DB_SLAVE, array(), $wikiID );
$count = $dbr->selectField( 'externallinks', 'COUNT(*)',
array( 'el_index' . $dbr->buildLike( $like ) ), __METHOD__ );
} else {
// Clean up spam on this wiki
- $dbr = wfGetDB( DB_SLAVE );
+ $dbr = $this->getDB( DB_SLAVE );
$res = $dbr->select( 'externallinks', array( 'DISTINCT el_from' ),
array( 'el_index' . $dbr->buildLike( $like ) ), __METHOD__ );
$count = $dbr->numRows( $res );
// This happens e.g. when a link comes from a template rather than the page itself
$this->output( "False match\n" );
} else {
- $dbw = wfGetDB( DB_MASTER );
- $dbw->begin( __METHOD__ );
+ $dbw = $this->getDB( DB_MASTER );
+ $this->beginTransaction( $dbw, __METHOD__ );
$page = WikiPage::factory( $title );
if ( $rev ) {
// Revert to this revision
wfMessage( 'spam_blanking', $domain )->inContentLanguage()->text()
);
}
- $dbw->commit( __METHOD__ );
+ $this->commitTransaction( $dbw, __METHOD__ );
}
}
}