* replace some use of deprecated makeKnownLinkObj() by link() in core
[mediawiki.git] / maintenance / deleteArchivedRevisions.inc
blobcd90ecdf46e2a3c1b480ffd224ab2125883b5424
1 <?php
3 /**
4  * Support functions for the deleteArchivedRevisions script
5  *
6  * @file
7  * @ingroup Maintenance
8  * @author Aaron Schulz
9  */
11 require_once( 'purgeOldText.inc' );
13 function DeleteArchivedRevisions( $delete = false ) {
15         # Data should come off the master, wrapped in a transaction
16         $dbw = wfGetDB( DB_MASTER );
18         if( $delete ) {
19                 $dbw->begin();
20         
21                 $tbl_arch = $dbw->tableName( 'archive' );
23                 # Delete as appropriate
24                 echo( "Deleting archived revisions... " );
25                 $dbw->query( "TRUNCATE TABLE $tbl_arch" );
26         
27                 $count = $dbw->affectedRows();
28                 $deletedRows = $count != 0;
30                 echo( "done. $count revisions deleted.\n" );
32                 # This bit's done
33                 # Purge redundant text records
34                 $dbw->commit();
35                 if( $deletedRows ) {
36                         PurgeRedundantText( true );
37                 }
38         } else {
39                 $res = $dbw->selectRow( 'archive', 'COUNT(*) as count', array(), __FUNCTION__ );
40                 echo( "Found {$res->count} revisions to delete.\n" );
41                 echo( "Please run the script again with the --delete option to really delete the revisions.\n" );
42         }