Make readonly work for OOUI forms
[lhc/web/wiklou.git] / maintenance / attachLatest.php
index 2cf277f..fba6b92 100644 (file)
@@ -3,7 +3,7 @@
  * Corrects wrong values in the `page_latest` field in the database.
  *
  * Copyright © 2005 Brion Vibber <brion@pobox.com>
- * http://www.mediawiki.org/
+ * https://www.mediawiki.org/
  *
  * 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
@@ -33,19 +33,24 @@ require_once __DIR__ . '/Maintenance.php';
  * @ingroup Maintenance
  */
 class AttachLatest extends Maintenance {
-
        public function __construct() {
                parent::__construct();
                $this->addOption( "fix", "Actually fix the entries, will dry run otherwise" );
+               $this->addOption( "regenerate-all",
+                       "Regenerate the page_latest field for all records in table page" );
                $this->mDescription = "Fix page_latest entries in the page table";
        }
 
        public function execute() {
                $this->output( "Looking for pages with page_latest set to 0...\n" );
                $dbw = wfGetDB( DB_MASTER );
+               $conds = array( 'page_latest' => 0 );
+               if ( $this->hasOption( 'regenerate-all' ) ) {
+                       $conds = '';
+               }
                $result = $dbw->select( 'page',
                        array( 'page_id', 'page_namespace', 'page_title' ),
-                       array( 'page_latest' => 0 ),
+                       $conds,
                        __METHOD__ );
 
                $n = 0;
@@ -64,7 +69,8 @@ class AttachLatest extends Maintenance {
 
                        $revision = Revision::loadFromTimestamp( $dbw, $title, $latestTime );
                        if ( is_null( $revision ) ) {
-                               $this->output( wfWikiID() . " $pageId [[$name]] latest time $latestTime, can't find revision id\n" );
+                               $this->output( wfWikiID()
+                                       . " $pageId [[$name]] latest time $latestTime, can't find revision id\n" );
                                continue;
                        }
                        $id = $revision->getId();