From 375f9c2dd26cc1b67f357b36e1b7a9fa59e09df7 Mon Sep 17 00:00:00 2001 From: Exile Date: Sat, 2 Aug 2014 19:08:21 +0400 Subject: [PATCH] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Фикс задачи удаления неактивных пользователей. --- .../cron/jobs/prune_inactive_users.php | 47 ++++++++----------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/upload/includes/cron/jobs/prune_inactive_users.php b/upload/includes/cron/jobs/prune_inactive_users.php index bbf9b1964..83c1897ee 100644 --- a/upload/includes/cron/jobs/prune_inactive_users.php +++ b/upload/includes/cron/jobs/prune_inactive_users.php @@ -6,10 +6,7 @@ $users_per_cycle = 1000; require_once(INC_DIR .'functions_admin.php'); -$excluded_users = join(',', array( - GUEST_UID, - BOT_UID, -)); +$not_del_users = EXCLUDED_USERS_CSV; while (true) { @@ -19,32 +16,30 @@ while (true) if ($not_activated_days = intval($bb_cfg['user_not_activated_days_keep'])) { - $sql = " - SELECT user_id - FROM ". BB_USERS ." - WHERE user_active = 0 - AND user_lastvisit = 0 - AND user_regdate < ". (TIMENOW - 86400*$not_activated_days) ." - AND user_id NOT IN($excluded_users) - LIMIT $users_per_cycle - "; - foreach (DB()->fetch_rowset($sql) as $row) + $sql = DB()->fetch_rowset("SELECT user_id FROM ". BB_USERS ." + WHERE user_level = 0 + AND user_lastvisit = 0 + AND user_session_time = 0 + AND user_regdate <= ". (TIMENOW - 86400 * $not_activated_days) ." + AND user_id NOT IN($not_del_users) + LIMIT $users_per_cycle"); + + foreach ($sql as $row) { $not_activated_users[] = $row['user_id']; } } + if ($not_active_days = intval($bb_cfg['user_not_active_days_keep'])) { - $sql = " - SELECT user_id - FROM ". BB_USERS ." - WHERE user_active = 1 - AND user_posts = 0 - AND user_lastvisit < ". (TIMENOW - 86400*$not_active_days) ." - AND user_id NOT IN($excluded_users) - LIMIT $users_per_cycle - "; - foreach (DB()->fetch_rowset($sql) as $row) + $sql = DB()->fetch_rowset("SELECT user_id FROM ". BB_USERS ." + WHERE user_level = 0 + AND user_posts = 0 + AND user_lastvisit <= ". (TIMENOW - 86400 * $not_active_days) ." + AND user_id NOT IN($not_del_users) + LIMIT $users_per_cycle"); + + foreach ($sql as $row) { $not_active_users[] = $row['user_id']; } @@ -61,6 +56,4 @@ while (true) } sleep(3); -} - -unset($prune_users, $not_activated_users, $not_active_users); \ No newline at end of file +} \ No newline at end of file