$this->addOption( 'dry-run', 'Print debug info instead of actually deleting' );
$this->addOption( 'hidden', 'Drop hidden preferences ($wgHiddenPrefs)' );
$this->addOption( 'unknown',
- 'Drop unknown preferences (not in $wgDefaultUserOptions or a gadget or userjs)' );
+ 'Drop unknown preferences (not in $wgDefaultUserOptions or prefixed with "userjs-")' );
// TODO: actually implement this
// $this->addOption( 'bogus', 'Drop preferences that have invalid/unaccepted values' );
}
global $wgHiddenPrefs, $wgDefaultUserOptions;
$dbw = $this->getDB( DB_MASTER );
- $didWork = false;
$hidden = $this->hasOption( 'hidden' );
$unknown = $this->hasOption( 'unknown' );
$bogus = $this->hasOption( 'bogus' );
}
}
- // Remove unknown preferences. Special-case gadget- and userjs- as we can't
- // control those names.
+ // Remove unknown preferences. Special-case 'userjs-' as we can't control those names.
if ( $unknown ) {
$where = [
- 'up_property NOT' . $dbw->buildLike( 'gadget-', $dbw->anyString() ),
'up_property NOT' . $dbw->buildLike( 'userjs-', $dbw->anyString() ),
'up_property NOT IN (' . $dbw->makeList( array_keys( $wgDefaultUserOptions ) ) . ')',
];
}
}
- /**
- *
- */
private function deleteByWhere( $dbw, $startMessage, $where ) {
$this->output( $startMessage . "...\n" );
$total = 0;
$numRows = $res->numRows();
$total += $numRows;
if ( $res->numRows() <= 0 ) {
- // All done!
$this->output( "DONE! (handled $total entries)\n" );
break;
}