From 15dc046224b4c32a868fb4f3b9ef107e5d2bd492 Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Fri, 12 May 2006 08:14:57 +0000 Subject: [PATCH] Delete (i.e. move to archive) a list of revisions --- maintenance/deleteRevision.php | 40 ++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 maintenance/deleteRevision.php diff --git a/maintenance/deleteRevision.php b/maintenance/deleteRevision.php new file mode 100644 index 0000000000..e7d005b6a2 --- /dev/null +++ b/maintenance/deleteRevision.php @@ -0,0 +1,40 @@ + [ ...]\n"; + exit(1); +} + +echo "Deleting revision(s) " . implode( ',', $args ) . " from $wgDBname...\n"; + +$affected = 0; +foreach ( $args as $revID ) { + $dbw->insertSelect( 'archive', array( 'page', 'revision' ), + array( + 'ar_namespace' => 'page_namespace', + 'ar_title' => 'page_title', + 'ar_comment' => 'rev_comment', + 'ar_user' => 'rev_user', + 'ar_user_text' => 'rev_user_text', + 'ar_timestamp' => 'rev_timestamp', + 'ar_minor_edit' => 'rev_minor_edit', + 'ar_rev_id' => 'rev_id', + 'ar_text_id' => 'rev_text_id', + ), array( + 'rev_id' => $revID, + 'page_id = rev_page' + ), $fname + ); + if ( !$dbw->affectedRows() ) { + echo "Revision $revID not found\n"; + } else { + $affected += $dbw->affectedRows(); + $dbw->delete( 'revision', array( 'rev_id' => $revID ) ); + } +} + +print "Deleted $affected revisions\n"; +?> -- 2.20.1