mirror of
https://github.com/OPSnet/Gazelle.git
synced 2026-01-16 18:04:34 -05:00
27 lines
857 B
PHP
27 lines
857 B
PHP
<?php
|
|
|
|
namespace Gazelle\Manager;
|
|
|
|
class Session extends \Gazelle\Base {
|
|
public function purge(): int {
|
|
self::$db->prepared_query("
|
|
SELECT concat('users_sessions_', UserID) as ck
|
|
FROM users_sessions
|
|
WHERE (LastUpdate < (now() - INTERVAL 30 DAY) AND KeepLogged = '1')
|
|
OR (LastUpdate < (now() - INTERVAL 60 MINUTE) AND KeepLogged = '0')
|
|
");
|
|
$cacheKeys = self::$db->collect('ck');
|
|
if (!$cacheKeys) {
|
|
return 0;
|
|
}
|
|
|
|
self::$db->prepared_query("
|
|
DELETE FROM users_sessions
|
|
WHERE (LastUpdate < (now() - INTERVAL 30 DAY) AND KeepLogged = '1')
|
|
OR (LastUpdate < (now() - INTERVAL 60 MINUTE) AND KeepLogged = '0')
|
|
");
|
|
self::$cache->delete_multi($cacheKeys);
|
|
return count($cacheKeys);
|
|
}
|
|
}
|