- // Clear long lasting cache entries only once a day
- if (Config::get("system", "cache_cleared_day") < time() - self::duration(CACHE_DAY)) {
- if ($max_level == CACHE_MONTH) {
- $condition = ["`updated` < ? AND `expire_mode` = ?",
- DateTimeFormat::utc("now - 30 days"),
- CACHE_MONTH];
- dba::delete('cache', $condition);
- }
-
- if ($max_level <= CACHE_WEEK) {
- $condition = ["`updated` < ? AND `expire_mode` = ?",
- DateTimeFormat::utc("now - 7 days"),
- CACHE_WEEK];
- dba::delete('cache', $condition);
- }
-
- if ($max_level <= CACHE_DAY) {
- $condition = ["`updated` < ? AND `expire_mode` = ?",
- DateTimeFormat::utc("now - 1 days"),
- CACHE_DAY];
- dba::delete('cache', $condition);
- }
- Config::set("system", "cache_cleared_day", time());
- }
-
- if (($max_level <= CACHE_HOUR) && (Config::get("system", "cache_cleared_hour")) < time() - self::duration(CACHE_HOUR)) {
- $condition = ["`updated` < ? AND `expire_mode` = ?",
- DateTimeFormat::utc("now - 1 hours"),
- CACHE_HOUR];
- dba::delete('cache', $condition);
-
- Config::set("system", "cache_cleared_hour", time());
- }