Фикс задачи удаления неактивных пользователей.
This commit is contained in:
Exile 2014-08-02 19:08:21 +04:00
commit 375f9c2dd2

View file

@ -6,10 +6,7 @@ $users_per_cycle = 1000;
require_once(INC_DIR .'functions_admin.php'); require_once(INC_DIR .'functions_admin.php');
$excluded_users = join(',', array( $not_del_users = EXCLUDED_USERS_CSV;
GUEST_UID,
BOT_UID,
));
while (true) while (true)
{ {
@ -19,32 +16,30 @@ while (true)
if ($not_activated_days = intval($bb_cfg['user_not_activated_days_keep'])) if ($not_activated_days = intval($bb_cfg['user_not_activated_days_keep']))
{ {
$sql = " $sql = DB()->fetch_rowset("SELECT user_id FROM ". BB_USERS ."
SELECT user_id WHERE user_level = 0
FROM ". BB_USERS ."
WHERE user_active = 0
AND user_lastvisit = 0 AND user_lastvisit = 0
AND user_regdate < ". (TIMENOW - 86400*$not_activated_days) ." AND user_session_time = 0
AND user_id NOT IN($excluded_users) AND user_regdate <= ". (TIMENOW - 86400 * $not_activated_days) ."
LIMIT $users_per_cycle AND user_id NOT IN($not_del_users)
"; LIMIT $users_per_cycle");
foreach (DB()->fetch_rowset($sql) as $row)
foreach ($sql as $row)
{ {
$not_activated_users[] = $row['user_id']; $not_activated_users[] = $row['user_id'];
} }
} }
if ($not_active_days = intval($bb_cfg['user_not_active_days_keep'])) if ($not_active_days = intval($bb_cfg['user_not_active_days_keep']))
{ {
$sql = " $sql = DB()->fetch_rowset("SELECT user_id FROM ". BB_USERS ."
SELECT user_id WHERE user_level = 0
FROM ". BB_USERS ."
WHERE user_active = 1
AND user_posts = 0 AND user_posts = 0
AND user_lastvisit < ". (TIMENOW - 86400*$not_active_days) ." AND user_lastvisit <= ". (TIMENOW - 86400 * $not_active_days) ."
AND user_id NOT IN($excluded_users) AND user_id NOT IN($not_del_users)
LIMIT $users_per_cycle LIMIT $users_per_cycle");
";
foreach (DB()->fetch_rowset($sql) as $row) foreach ($sql as $row)
{ {
$not_active_users[] = $row['user_id']; $not_active_users[] = $row['user_id'];
} }
@ -62,5 +57,3 @@ while (true)
sleep(3); sleep(3);
} }
unset($prune_users, $not_activated_users, $not_active_users);