diff options
Diffstat (limited to 'maintenance/deleteDefaultMessages.php')
-rw-r--r-- | maintenance/deleteDefaultMessages.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/maintenance/deleteDefaultMessages.php b/maintenance/deleteDefaultMessages.php new file mode 100644 index 00000000..76924002 --- /dev/null +++ b/maintenance/deleteDefaultMessages.php @@ -0,0 +1,45 @@ +<?php + +/** + * Deletes all pages in the MediaWiki namespace which were last edited by + * "MediaWiki default". + */ + +if ( !defined( 'MEDIAWIKI' ) ) { + require_once( 'commandLine.inc' ); + deleteDefaultMessages(); +} + +function deleteDefaultMessages() { + $user = 'MediaWiki default'; + $reason = 'No longer required'; + + global $wgUser; + $wgUser = User::newFromName( $user ); + $wgUser->addGroup( 'bot' ); + + $dbr =& wfGetDB( DB_SLAVE ); + $res = $dbr->select( array( 'page', 'revision' ), + array( 'page_namespace', 'page_title' ), + array( + 'page_namespace' => NS_MEDIAWIKI, + 'page_latest=rev_id', + 'rev_user_text' => 'MediaWiki default', + ) + ); + + $dbw =& wfGetDB( DB_MASTER ); + + while ( $row = $dbr->fetchObject( $res ) ) { + if ( function_exists( 'wfWaitForSlaves' ) ) { + wfWaitForSlaves( 5 ); + } + $dbw->ping(); + $title = Title::makeTitle( $row->page_namespace, $row->page_title ); + $article = new Article( $title ); + $dbw->begin(); + $article->doDeleteArticle( $reason ); + $dbw->commit(); + } +} +?> |