Sophie

Sophie

distrib > Mageia > 4 > x86_64 > media > core-updates > by-pkgid > 3b2d478e49fedf026e8544cd6ff5c92d > files > 41

mediawiki-1.22.3-1.mga4.noarch.rpm

Prior to version 1.16, maintenance scripts were a hodgepodge of code that
had no cohesion or formal method of action. Beginning in 1.16, maintenance
scripts have been cleaned up to use a unified class.

1. Directory structure
2. How to run a script
3. How to write your own

1. DIRECTORY STRUCTURE
  The /maintenance directory of a MediaWiki installation contains several
subdirectories, all of which have unique purposes.

2. HOW TO RUN A SCRIPT
  Ridiculously simple, just call 'php someScript.php' that's in the top-
level /maintenance directory.

Example:
  php clearCacheStats.php
  
The following parameters are available to all maintenance scripts
--help   : Print a help message
--quiet  : Quiet non-error output
--dbuser : The database user to use for the script (if needed)
--dbpass : Same as above (if needed)
--conf   : Location of LocalSettings.php, if not default
--wiki   : For specifying the wiki ID
--batch-size : If the script supports batch operations, do this many per batch

3. HOW TO WRITE YOUR OWN
Make a file in the maintenance directory called myScript.php or something.
In it, write the following:

==BEGIN==

<?php

require_once 'Maintenance.php';

class DemoMaint extends Maintenance {

  public function __construct() {
    parent::__construct();
  }

  public function execute() {
  }
}

$maintClass = "DemoMaint";
require_once RUN_MAINTENANCE_IF_MAIN;

==END==

That's it. In the execute() method, you have access to all of the normal
MediaWiki functions, so you can get a DB connection, use the cache, etc.
For full docs on the Maintenance class, see the auto-generated docs at
http://svn.wikimedia.org/doc/classMaintenance.html