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++;
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
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
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
*