class FixTimestamps extends Maintenance {
public function __construct() {
parent::__construct();
- $this->mDescription = "";
+ $this->addDescription( '' );
$this->addArg( 'offset', '' );
$this->addArg( 'start', 'Starting timestamp' );
$this->addArg( 'end', 'Ending timestamp' );
$grace = 60; // maximum normal clock offset
# Find bounding revision IDs
- $dbw = wfGetDB( DB_MASTER );
+ $dbw = $this->getDB( DB_MASTER );
$revisionTable = $dbw->tableName( 'revision' );
$res = $dbw->query( "SELECT MIN(rev_id) as minrev, MAX(rev_id) as maxrev FROM $revisionTable " .
"WHERE rev_timestamp BETWEEN '{$start}' AND '{$end}'", __METHOD__ );
$res = $dbw->query( $sql, __METHOD__ );
$lastNormal = 0;
- $badRevs = array();
+ $badRevs = [];
$numGoodRevs = 0;
foreach ( $res as $row ) {
if ( $sign == 0 || $sign == $expectedSign ) {
// Monotonic change
$lastNormal = $timestamp;
- ++ $numGoodRevs;
+ ++$numGoodRevs;
continue;
} elseif ( abs( $delta ) <= $grace ) {
// Non-monotonic change within grace interval
- ++ $numGoodRevs;
+ ++$numGoodRevs;
continue;
} else {
// Non-monotonic change larger than grace interval
$numBadRevs = count( $badRevs );
if ( $numBadRevs > $numGoodRevs ) {
$this->error(
- "The majority of revisions in the search interval are marked as bad.
+ "The majority of revisions in the search interval are marked as bad.
Are you sure the offset ($offset) has the right sign? Positive means the clock
was incorrectly set forward, negative means the clock was incorrectly set back.
$fixup = -$offset;
$sql = "UPDATE $revisionTable " .
- "SET rev_timestamp=DATE_FORMAT(DATE_ADD(rev_timestamp, INTERVAL $fixup SECOND), '%Y%m%d%H%i%s') " .
+ "SET rev_timestamp="
+ . "DATE_FORMAT(DATE_ADD(rev_timestamp, INTERVAL $fixup SECOND), '%Y%m%d%H%i%s') " .
"WHERE rev_id IN (" . $dbw->makeList( $badRevs ) . ')';
$dbw->query( $sql, __METHOD__ );
$this->output( "Done\n" );