X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FcleanupCaps.php;h=c0d1773aab70d71301366053e6d05383c959d431;hb=7f9796431810b4f742a06cab84de130fce69085b;hp=17fddef331ea49c6de43bed094f463f48c007b4b;hpb=567f244e3611c9e020bc69446a77a10c21257f84;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/cleanupCaps.php b/maintenance/cleanupCaps.php index 17fddef331..c0d1773aab 100644 --- a/maintenance/cleanupCaps.php +++ b/maintenance/cleanupCaps.php @@ -24,38 +24,33 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html * - * @file * @author Brion Vibber * @ingroup maintenance */ -$optionsWithArgs = array( 'namespace' ); +require_once( dirname(__FILE__) . '/cleanupTable.inc' ); -require_once( dirname(__FILE__) . '/commandLine.inc' ); -require_once( 'cleanupTable.inc' ); - -/** - * @ingroup Maintenance - */ class CapsCleanup extends TableCleanup { - function __construct( $dryrun = false, $namespace = 0 ) { - parent::__construct( 'page', $dryrun ); - $this->namespace = intval( $namespace ); + public function __construct() { + parent::__construct(); + $this->mDescription = "Script to cleanup capitalization"; + $this->addOption( 'namespace', 'Namespace number to run caps cleanup on', false, true ); } - function cleanup() { - global $wgCapitalLinks; - if( $wgCapitalLinks ) { - echo "\$wgCapitalLinks is on -- no need for caps links cleanup.\n"; - return false; - } + public function execute() { + global $wgCapitalLinks, $wgUser; + $this->namespace = intval( $this->getOption( 'namespace', 0 ) ); + $this->dryrun = $this->hasOption( 'dry-run' ); + $wgUser->setName( 'Conversion script' ); + if( $wgCapitalLinks ) + $this->error( "\$wgCapitalLinks is on -- no need for caps links cleanup.", true ); $this->runTable( $this->targetTable, 'WHERE page_namespace=' . $this->namespace, array( &$this, 'processPage' ) ); } - function processPage( $row ) { + protected function processPage( $row ) { global $wgContLang; $current = Title::makeTitle( $row->page_namespace, $row->page_title ); @@ -63,27 +58,26 @@ class CapsCleanup extends TableCleanup { $upper = $row->page_title; $lower = $wgContLang->lcfirst( $row->page_title ); if( $upper == $lower ) { - $this->log( "\"$display\" already lowercase." ); + $this->output( "\"$display\" already lowercase." ); return $this->progress( 0 ); } $target = Title::makeTitle( $row->page_namespace, $lower ); $targetDisplay = $target->getPrefixedText(); if( $target->exists() ) { - $this->log( "\"$display\" skipped; \"$targetDisplay\" already exists" ); + $this->output( "\"$display\" skipped; \"$targetDisplay\" already exists" ); return $this->progress( 0 ); } if( $this->dryrun ) { - $this->log( "\"$display\" -> \"$targetDisplay\": DRY RUN, NOT MOVED" ); + $this->output( "\"$display\" -> \"$targetDisplay\": DRY RUN, NOT MOVED" ); $ok = true; } else { $ok = $current->moveTo( $target, false, 'Converting page titles to lowercase' ); - $this->log( "\"$display\" -> \"$targetDisplay\": $ok" ); + $this->output( "\"$display\" -> \"$targetDisplay\": $ok" ); } if( $ok === true ) { $this->progress( 1 ); - if( $row->page_namespace == $this->namespace ) { $talk = $target->getTalkPage(); $row->page_namespace = $talk->getNamespace(); @@ -95,10 +89,7 @@ class CapsCleanup extends TableCleanup { $this->progress( 0 ); } } - } -$wgUser->setName( 'Conversion script' ); -$ns = isset( $options['namespace'] ) ? $options['namespace'] : 0; -$caps = new CapsCleanup( isset( $options['dry-run'] ), $ns ); -$caps->cleanup(); +$maintClass = "CapsCleanup"; +require_once( DO_MAINTENANCE );