- // 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 = array("`updated` < ? AND `expire_mode` = ?",
- datetime_convert('UTC', 'UTC', "now - 30 days"),
- CACHE_MONTH);
- dba::delete('cache', $condition);
- }
-
- if ($max_level <= CACHE_WEEK) {
- $condition = array("`updated` < ? AND `expire_mode` = ?",
- datetime_convert('UTC', 'UTC', "now - 7 days"),
- CACHE_WEEK);
- dba::delete('cache', $condition);
- }
-
- if ($max_level <= CACHE_DAY) {
- $condition = array("`updated` < ? AND `expire_mode` = ?",
- datetime_convert('UTC', '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 = array("`updated` < ? AND `expire_mode` = ?",
- datetime_convert('UTC', 'UTC', "now - 1 hours"),
- CACHE_HOUR);
- dba::delete('cache', $condition);
-
- Config::set("system", "cache_cleared_hour", time());
- }