X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FCronJobs.php;h=8b9d3b9bcf27879f4766952506a02db995b4297c;hb=d993c8584c4c2b6023606e727ea3e0db6a6bde51;hp=9e130d9ef0933d66245b62405f96508e1a863ffb;hpb=e36f2bb1fb3439e9993c7568e57140c4f954b772;p=friendica.git diff --git a/src/Worker/CronJobs.php b/src/Worker/CronJobs.php index 9e130d9ef0..8b9d3b9bcf 100644 --- a/src/Worker/CronJobs.php +++ b/src/Worker/CronJobs.php @@ -1,35 +1,30 @@ '%s' - AND `account_expires_on` < UTC_TIMESTAMP()", dbesc(NULL_DATE)); + // expire any expired regular accounts. Don't expire forums. + $condition = ["NOT `account_expired` AND `account_expires_on` > ? AND `account_expires_on` < UTC_TIMESTAMP() AND `page-flags` = 0", NULL_DATE]; + dba::update('user', ['account_expired' => true], $condition); + + // Remove any freshly expired account + $users = dba::select('user', ['uid'], ['account_expired' => true, 'account_removed' => false]); + while ($user = dba::fetch($users)) { + User::remove($user['uid']); + } // delete user records for recently removed accounts - $r = q("SELECT * FROM `user` WHERE `account_removed` AND `account_expires_on` < UTC_TIMESTAMP() - INTERVAL 3 DAY"); - if (DBM::is_result($r)) { - foreach ($r as $user) { - dba::delete('user', ['uid' => $user['uid']]); - } + $users = dba::select('user', ['uid'], ["`account_removed` AND `account_expires_on` < UTC_TIMESTAMP() - INTERVAL 3 DAY"]); + while ($user = dba::fetch($users)) { + dba::delete('user', ['uid' => $user['uid']]); } }