[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/maintenance/ -> rebuildall.php (source)

   1  <?php
   2  /**
   3   * Rebuild link tracking tables from scratch.  This takes several
   4   * hours, depending on the database size and server configuration.
   5   *
   6   * This program is free software; you can redistribute it and/or modify
   7   * it under the terms of the GNU General Public License as published by
   8   * the Free Software Foundation; either version 2 of the License, or
   9   * (at your option) any later version.
  10   *
  11   * This program is distributed in the hope that it will be useful,
  12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14   * GNU General Public License for more details.
  15   *
  16   * You should have received a copy of the GNU General Public License along
  17   * with this program; if not, write to the Free Software Foundation, Inc.,
  18   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  19   * http://www.gnu.org/copyleft/gpl.html
  20   *
  21   * @file
  22   * @ingroup Maintenance
  23   */
  24  
  25  require_once  __DIR__ . '/Maintenance.php';
  26  
  27  /**
  28   * Maintenance script that rebuilds link tracking tables from scratch.
  29   *
  30   * @ingroup Maintenance
  31   */
  32  class RebuildAll extends Maintenance {
  33  	public function __construct() {
  34          parent::__construct();
  35          $this->mDescription = "Rebuild links, text index and recent changes";
  36      }
  37  
  38  	public function getDbType() {
  39          return Maintenance::DB_ADMIN;
  40      }
  41  
  42  	public function execute() {
  43          // Rebuild the text index
  44          if ( wfGetDB( DB_SLAVE )->getType() != 'postgres' ) {
  45              $this->output( "** Rebuilding fulltext search index (if you abort "
  46                  . "this will break searching; run this script again to fix):\n" );
  47              $rebuildText = $this->runChild( 'RebuildTextIndex', 'rebuildtextindex.php' );
  48              $rebuildText->execute();
  49          }
  50  
  51          // Rebuild RC
  52          $this->output( "\n\n** Rebuilding recentchanges table:\n" );
  53          $rebuildRC = $this->runChild( 'RebuildRecentchanges', 'rebuildrecentchanges.php' );
  54          $rebuildRC->execute();
  55  
  56          // Rebuild link tables
  57          $this->output( "\n\n** Rebuilding links tables -- this can take a long time. "
  58              . "It should be safe to abort via ctrl+C if you get bored.\n" );
  59          $rebuildLinks = $this->runChild( 'RefreshLinks', 'refreshLinks.php' );
  60          $rebuildLinks->execute();
  61  
  62          $this->output( "Done.\n" );
  63      }
  64  }
  65  
  66  $maintClass = "RebuildAll";
  67  require_once RUN_MAINTENANCE_IF_MAIN;


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1