X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=maintenance%2FdeleteDefaultMessages.php;h=21d7755fbdfafabc62ec9a07f304887d33185bb8;hb=0bab706cdf6e2aba2ff8ffa308b2e94846b37c22;hp=3f0e1b1cff9cf52939dbafa688ccab12b7fb43ff;hpb=44729064cd299f86611dcbb7f54e092b7e4d19a9;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/deleteDefaultMessages.php b/maintenance/deleteDefaultMessages.php index 3f0e1b1cff..21d7755fbd 100644 --- a/maintenance/deleteDefaultMessages.php +++ b/maintenance/deleteDefaultMessages.php @@ -1,6 +1,6 @@ addGroup( 'bot' ); + $this->output( "Checking existence of old default messages..." ); $dbr = wfGetDB( DB_SLAVE ); $res = $dbr->select( array( 'page', 'revision' ), array( 'page_namespace', 'page_title' ), @@ -52,21 +44,39 @@ class DeleteDefaultMessages extends Maintenance { ) ); + if( $dbr->numRows( $res ) == 0 ) { + # No more messages left + $this->output( "done.\n" ); + return; + } + + # Deletions will be made by $user temporarly added to the bot group + # in order to hide it in RecentChanges. + $user = User::newFromName( 'MediaWiki default' ); + if ( !$user ) { + $this->error( "Invalid username", true ); + } + $user->addGroup( 'bot' ); + $wgUser = $user; + + # Handle deletion + $this->output( "\n...deleting old default messages (this may take a long time!)...", 'msg' ); $dbw = wfGetDB( DB_MASTER ); foreach ( $res as $row ) { - if ( function_exists( 'wfWaitForSlaves' ) ) { - wfWaitForSlaves( 5 ); - } + wfWaitForSlaves(); $dbw->ping(); $title = Title::makeTitle( $row->page_namespace, $row->page_title ); - $article = new Article( $title ); + $page = WikiPage::factory( $title ); $dbw->begin(); - $article->doDeleteArticle( $reason ); + $error = ''; // Passed by ref + $page->doDeleteArticle( 'No longer required', false, 0, false, $error, $user ); $dbw->commit(); } + + $this->output( 'done!', 'msg' ); } } $maintClass = "DeleteDefaultMessages"; -require_once( DO_MAINTENANCE ); +require_once( RUN_MAINTENANCE_IF_MAIN );