* Count log entries too, for uber-anal-completeness' sake
authorRob Church <robchurch@users.mediawiki.org>
Tue, 4 Apr 2006 02:54:55 +0000 (02:54 +0000)
committerRob Church <robchurch@users.mediawiki.org>
Tue, 4 Apr 2006 02:54:55 +0000 (02:54 +0000)
* Fix oversight in counts

maintenance/removeUnusedAccounts.php
maintenance/userFunctions.inc

index 2c967b1..9166a40 100644 (file)
@@ -34,7 +34,7 @@ echo( "Found " . count( $users ) . " accounts.\n\n" );
 echo( "Locating inactive users..." );
 foreach( $users as $user ) {
        if( $user != 1 ) {      # Don't *touch* the first user account, ever
-               if( CountEdits( $user, false ) == 0 && CountImages( $user, false ) == 0 ) {
+               if( CountEdits( $user, false ) == 0 && CountImages( $user, false ) == 0 && CountLogs( $user, false ) == 0 ) {
                        # User has no edits or images, mark them for deletion
                        $del[] = $user;
                        $count++;
index 314da61..a1b8c76 100644 (file)
@@ -18,7 +18,7 @@
 function CountEdits( $user, $slave = true ) {
        $dbw =& wfGetDB( $slave ? DB_SLAVE: DB_MASTER );
        # Count current edits
-       $res = $dbw->select( 'revision', 'COUNT(rev_id) AS count', array( 'rev_user' => $user ) );
+       $res = $dbw->select( 'revision', 'COUNT(*) AS count', array( 'rev_user' => $user ) );
        $row = $dbw->fetchObject( $res );
        $count = $row->count;
        # Count deleted edits
@@ -39,7 +39,7 @@ function CountEdits( $user, $slave = true ) {
 function CountImages( $user, $slave = true ) {
        $dbw =& wfGetDB( $slave ? DB_SLAVE: DB_MASTER );
        # Count current images
-       $res = $dbw->select( 'image', 'COUNT(rev_id) AS count', array( 'img_user' => $user ) );
+       $res = $dbw->select( 'image', 'COUNT(*) AS count', array( 'img_user' => $user ) );
        $row = $dbw->fetchObject( $res );
        $count = $row->count;
        # Count deleted edits
@@ -50,6 +50,23 @@ function CountImages( $user, $slave = true ) {
        return( $count );
 }
 
+/**
+ * Count the number of log entries associated with the specified user
+ *
+ * @param integer $user User ID
+ * @param bool $slave Whether or not a slave can be used
+ * @return integer
+ */
+function CountLogs( $user, $slave = true ) {
+       $dbw =& wfGetDB( $slave ? DB_SLAVE: DB_MASTER );
+       # Count log entries
+       $res = $dbw->select( 'logging', 'COUNT(*) AS count', array( 'log_user' => $user ) );
+       $row = $dbw->fetchObject( $res );
+       $count = $row->count;
+       # Done
+       return( $count );
+}
+
 /**
  * Retrieve all valid user IDs
  *