[feature/prune_users] Moved set_config_count out of user loop.

PHPBB3-9622
This commit is contained in:
Oleg Pudeyev 2011-05-08 13:28:09 -04:00
parent e23868f3e2
commit 9f32cae5f9

View file

@ -422,6 +422,8 @@ function user_delete($mode, $user_ids, $retain_username = true)
// Remove reports
$db->sql_query('DELETE FROM ' . REPORTS_TABLE . ' WHERE ' . $user_id_sql);
$num_users_delta = 0;
// Some things need to be done in the loop (if the query changes based
// on which user is currently being deleted)
$added_guest_posts = 0;
@ -435,7 +437,7 @@ function user_delete($mode, $user_ids, $retain_username = true)
// Decrement number of users if this user is active
if ($user_row['user_type'] != USER_INACTIVE && $user_row['user_type'] != USER_IGNORE)
{
set_config_count('num_users', -1, true);
--$num_users_delta;
}
switch ($mode)
@ -492,6 +494,11 @@ function user_delete($mode, $user_ids, $retain_username = true)
}
}
if ($num_users_delta != 0)
{
set_config_count('num_users', $num_users_delta, true);
}
// Now do the invariant tasks
// all queries performed in one call of this function are in a single transaction
// so this is kosher