X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FCronJobs.php;h=e843b5920e6f0c5c9b1d40517278a322939d53f7;hb=f33bd5fc8e5d3cf9462869815e6c68df6fbfa039;hp=06e5c614339090d23cfb16974b4d8caa2628db5e;hpb=fa95911fdb2209907572381c62b1fa70088af634;p=friendica.git diff --git a/src/Worker/CronJobs.php b/src/Worker/CronJobs.php index 06e5c61433..e843b5920e 100644 --- a/src/Worker/CronJobs.php +++ b/src/Worker/CronJobs.php @@ -12,6 +12,7 @@ use Friendica\Database\PostUpdate; use Friendica\Model\Contact; use Friendica\Model\GContact; use Friendica\Model\Photo; +use Friendica\Model\User; use Friendica\Network\Probe; use Friendica\Protocol\PortableContact; use dba; @@ -25,8 +26,6 @@ class CronJobs { global $a; - require_once 'mod/nodeinfo.php'; - // No parameter set? So return if ($command == '') { return; @@ -106,17 +105,20 @@ class CronJobs */ private static function expireAndRemoveUsers() { - // expire any expired accounts - q("UPDATE user SET `account_expired` = 1 where `account_expired` = 0 - AND `account_expires_on` > '%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']]); } }