Merge "Revert "Also delete the page information cache when invalidating cache of...
[lhc/web/wiklou.git] / maintenance / fixTimestamps.php
index c6046ca..84d08d3 100644 (file)
@@ -1,10 +1,10 @@
 <?php
 /**
- * This script fixes timestamp corruption caused by one or more webservers 
- * temporarily being set to the wrong time. The time offset must be known and
- * consistent. Start and end times (in 14-character format) restrict the search, 
- * and must bracket the damage. There must be a majority of good timestamps in the 
- * search period.
+ * Fixes timestamp corruption caused by one or more webservers temporarily
+ * being set to the wrong time.
+ * The time offset must be known and consistent. Start and end times
+ * (in 14-character format) restrict the search, and must bracket the damage.
+ * There must be a majority of good timestamps in the search period.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  * http://www.gnu.org/copyleft/gpl.html
  *
+ * @file
  * @ingroup Maintenance
  */
-require_once( dirname( __FILE__ ) . '/Maintenance.php' );
 
+require_once( __DIR__ . '/Maintenance.php' );
+
+/**
+ * Maintenance script that fixes timestamp corruption caused by one or
+ * more webservers temporarily being set to the wrong time.
+ *
+ * @ingroup Maintenance
+ */
 class FixTimestamps extends Maintenance {
        public function __construct() {
                parent::__construct();
@@ -47,14 +54,14 @@ class FixTimestamps extends Maintenance {
                $res = $dbw->query( "SELECT MIN(rev_id) as minrev, MAX(rev_id) as maxrev FROM $revisionTable " .
                        "WHERE rev_timestamp BETWEEN '{$start}' AND '{$end}'", __METHOD__ );
                $row = $dbw->fetchObject( $res );
-       
+
                if ( is_null( $row->minrev ) ) {
                        $this->error( "No revisions in search period.", true );
                }
-       
+
                $minRev = $row->minrev;
                $maxRev = $row->maxrev;
-       
+
                # Select all timestamps and IDs
                $sql = "SELECT rev_id, rev_timestamp FROM $revisionTable " .
                        "WHERE rev_id BETWEEN $minRev AND $maxRev";
@@ -64,13 +71,13 @@ class FixTimestamps extends Maintenance {
                } else {
                        $expectedSign = 1;
                }
-       
+
                $res = $dbw->query( $sql, __METHOD__ );
-       
+
                $lastNormal = 0;
                $badRevs = array();
                $numGoodRevs = 0;
-       
+
                foreach ( $res as $row ) {
                        $timestamp = wfTimestamp( TS_UNIX, $row->rev_timestamp );
                        $delta = $timestamp - $lastNormal;
@@ -89,25 +96,25 @@ class FixTimestamps extends Maintenance {
                                $badRevs[] = $row->rev_id;
                        }
                }
-       
+
                $numBadRevs = count( $badRevs );
                if ( $numBadRevs > $numGoodRevs ) {
                        $this->error(
                "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 
+               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.
 
-               If the offset is right, then increase the search interval until there are enough 
+               If the offset is right, then increase the search interval until there are enough
                good revisions to provide a majority reference.", true );
                } elseif ( $numBadRevs == 0 ) {
                        $this->output( "No bad revisions found.\n" );
                        exit( 0 );
                }
-       
+
                $this->output( sprintf( "Fixing %d revisions (%.2f%% of revisions in search interval)\n",
                        $numBadRevs, $numBadRevs / ( $numGoodRevs + $numBadRevs ) * 100 ) );
-       
+
                $fixup = -$offset;
                $sql = "UPDATE $revisionTable " .
                        "SET rev_timestamp=DATE_FORMAT(DATE_ADD(rev_timestamp, INTERVAL $fixup SECOND), '%Y%m%d%H%i%s') " .
@@ -118,4 +125,4 @@ class FixTimestamps extends Maintenance {
 }
 
 $maintClass = "FixTimestamps";
-require_once( DO_MAINTENANCE );
+require_once( RUN_MAINTENANCE_IF_MAIN );