From 7c752aa3defa92128bb1e38ff3305a978d37e4d3 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Sun, 25 Mar 2012 21:08:06 -0400 Subject: [PATCH] [feature/prune-users] Use a map instead of performing array scans. PHPBB3-9622 --- phpBB/includes/functions_user.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index ff6b60633a..940018ebad 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -614,9 +614,11 @@ function user_delete($mode, $user_ids, $retain_username = true) WHERE ' . $author_id_sql; $db->sql_query($sql); + $user_ids_map = array_flip($user_ids); + foreach ($undelivered_user as $_user_id => $ary) { - if (in_array($_user_id, $user_ids)) + if (isset($user_ids_map[$_user_id])) { continue; } @@ -631,7 +633,7 @@ function user_delete($mode, $user_ids, $retain_username = true) $db->sql_transaction('commit'); // Reset newest user info if appropriate - if (in_array($config['newest_user_id'], $user_ids)) + if (isset($user_ids_map[$config['newest_user_id']])) { update_last_username(); }