X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FdeleteArchivedRevisions.php;h=2fb83fccf79206819e4dbd179b09d4caca1b24bd;hb=48fdd531c8cf294b39e4f0ea2b3d06f742c197c7;hp=18e0d350bb444c98b6eb66e522d4272736dbe408;hpb=f3de84430d8e569d9de9302f1855139edb28df03;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/deleteArchivedRevisions.php b/maintenance/deleteArchivedRevisions.php index 18e0d350bb..2fb83fccf7 100644 --- a/maintenance/deleteArchivedRevisions.php +++ b/maintenance/deleteArchivedRevisions.php @@ -24,8 +24,7 @@ * @author Aaron Schulz */ -require_once( __DIR__ . '/Maintenance.php' ); -require_once( __DIR__ . '/deleteArchivedRevisions.inc' ); +require_once __DIR__ . '/Maintenance.php'; /** * Maintenance script to delete archived (deleted from public) revisions @@ -36,24 +35,29 @@ require_once( __DIR__ . '/deleteArchivedRevisions.inc' ); class DeleteArchivedRevisions extends Maintenance { public function __construct() { parent::__construct(); - $this->mDescription = "Deletes all archived revisions\nThese revisions will no longer be restorable"; + $this->addDescription( + "Deletes all archived revisions\nThese revisions will no longer be restorable" ); $this->addOption( 'delete', 'Performs the deletion' ); } - public function handleOutput( $str ) { - $this->output( $str ); - } - public function execute() { - $this->output( "Delete archived revisions\n\n" ); - # Data should come off the master, wrapped in a transaction - if ( $this->hasOption( 'delete' ) ) { - DeleteArchivedRevisionsImplementation::doDelete( $this ); - } else { - $dbw = wfGetDB( DB_MASTER ); - $res = $dbw->selectRow( 'archive', 'COUNT(*) as count', array(), __FUNCTION__ ); - $this->output( "Found {$res->count} revisions to delete.\n" ); - $this->output( "Please run the script again with the --delete option to really delete the revisions.\n" ); + $dbw = $this->getDB( DB_MASTER ); + + if ( !$this->hasOption( 'delete' ) ) { + $count = $dbw->selectField( 'archive', 'COUNT(*)', '', __METHOD__ ); + $this->output( "Found $count revisions to delete.\n" ); + $this->output( "Please run the script again with the --delete option " + . "to really delete the revisions.\n" ); + return; + } + + $this->output( "Deleting archived revisions... " ); + $dbw->delete( 'archive', '*', __METHOD__ ); + $count = $dbw->affectedRows(); + $this->output( "done. $count revisions deleted.\n" ); + + if ( $count ) { + $this->purgeRedundantText( true ); } } }