* ensure 'MediaWiki default' user is a bot when running batch deletion of mediawiki...
authorBrion Vibber <brion@users.mediawiki.org>
Sun, 7 Jan 2007 11:21:41 +0000 (11:21 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Sun, 7 Jan 2007 11:21:41 +0000 (11:21 +0000)
* as paranoia, don't insert a groups record into the database if User::addGroup() ends up run on a non-existing user

includes/User.php
maintenance/deleteDefaultMessages.php

index 44dada4..18475fd 100644 (file)
@@ -1575,13 +1575,15 @@ class User {
        function addGroup( $group ) {
                $this->load();
                $dbw =& wfGetDB( DB_MASTER );
-               $dbw->insert( 'user_groups',
-                       array(
-                               'ug_user'  => $this->getID(),
-                               'ug_group' => $group,
-                       ),
-                       'User::addGroup',
-                       array( 'IGNORE' ) );
+               if( $this->getId() ) {
+                       $dbw->insert( 'user_groups',
+                               array(
+                                       'ug_user'  => $this->getID(),
+                                       'ug_group' => $group,
+                               ),
+                               'User::addGroup',
+                               array( 'IGNORE' ) );
+               }
 
                $this->mGroups[] = $group;
                $this->mRights = User::getGroupPermissions( $this->getEffectiveGroups( true ) );
index fdad54c..7692400 100644 (file)
@@ -16,6 +16,8 @@ function deleteDefaultMessages() {
 
        global $wgUser;
        $wgUser = User::newFromName( $user );
+       $wgUser->addGroup( 'bot' );
+       
        $dbr =& wfGetDB( DB_SLAVE );
        $res = $dbr->select( array( 'page', 'revision' ),
                array( 'page_namespace', 'page_title' ),