// Hack: Grant bot rights so we don't flood RecentChanges
$wgUser->addGroup( 'bot' );
- $spec = $this->getArg();
+ $spec = $this->getArg( 0 );
- $likes = [];
+ $protConds = [];
foreach ( [ 'http://', 'https://' ] as $prot ) {
- $like = LinkFilter::makeLikeArray( $spec, $prot );
- if ( !$like ) {
+ $conds = LinkFilter::getQueryConditions( $spec, [ 'protocol' => $prot ] );
+ if ( !$conds ) {
$this->fatalError( "Not a valid hostname specification: $spec" );
}
- $likes[$prot] = $like;
+ $protConds[$prot] = $conds;
}
if ( $this->hasOption( 'all' ) ) {
$this->output( "Finding spam on " . count( $wgLocalDatabases ) . " wikis\n" );
$found = false;
foreach ( $wgLocalDatabases as $wikiID ) {
- /** @var $dbr Database */
+ /** @var Database $dbr */
$dbr = $this->getDB( DB_REPLICA, [], $wikiID );
- foreach ( $likes as $like ) {
+ foreach ( $protConds as $conds ) {
$count = $dbr->selectField(
'externallinks',
'COUNT(*)',
- [ 'el_index' . $dbr->buildLike( $like ) ],
+ $conds,
__METHOD__
);
if ( $count ) {
// Clean up spam on this wiki
$count = 0;
- /** @var $dbr Database */
+ /** @var Database $dbr */
$dbr = $this->getDB( DB_REPLICA );
- foreach ( $likes as $prot => $like ) {
+ foreach ( $protConds as $prot => $conds ) {
$res = $dbr->select(
'externallinks',
[ 'DISTINCT el_from' ],
- [ 'el_index' . $dbr->buildLike( $like ) ],
+ $conds,
__METHOD__
);
$count = $dbr->numRows( $res );