* add uniwiki/CreatePage extension to core
[lhc/web/wiklou.git] / maintenance / deleteArchivedRevisions.inc
1 <?php
2
3 /**
4 * Support functions for the deleteArchivedRevisions script
5 *
6 * @file
7 * @ingroup Maintenance
8 * @author Aaron Schulz
9 */
10
11 require_once( 'purgeOldText.inc' );
12
13 function DeleteArchivedRevisions( $delete = false ) {
14
15 # Data should come off the master, wrapped in a transaction
16 $dbw = wfGetDB( DB_MASTER );
17 $dbw->begin();
18
19 $tbl_arch = $dbw->tableName( 'archive' );
20 # Delete as appropriate
21 echo( "Deleting archived revisions... " );
22
23 if( $delete ) {
24 $dbw->query( "TRUNCATE TABLE $tbl_arch" );
25
26 $count = $dbw->affectedRows();
27 $deletedRows = $count != 0;
28
29 echo( "done. $count revisions deleted.\n" );
30
31 # This bit's done
32 # Purge redundant text records
33 $dbw->commit();
34 if( $deletedRows ) {
35 PurgeRedundantText( true );
36 }
37 } else {
38 $res = $dbw->selectRow( 'archive', 'COUNT(*) as count', array(), __FUNCTION__ );
39 echo( "done. {$res->count} revisions to delete.\n" );
40 }
41 }