Expire does work now for activities as well

This commit is contained in:
Michael 2018-07-06 06:45:30 +00:00
parent 5a07042560
commit 7f78540454

View file

@ -26,17 +26,18 @@ class Expire {
if ($param == 'delete') {
logger('Delete expired items', LOGGER_DEBUG);
// physically remove anything that has been deleted for more than two months
$r = dba::p("SELECT `id`, `iaid`, `icid` FROM `item` WHERE `deleted` AND `changed` < UTC_TIMESTAMP() - INTERVAL 60 DAY");
while ($row = dba::fetch($r)) {
$condition = ["`deleted` AND `changed` < UTC_TIMESTAMP() - INTERVAL 60 DAY"];
$rows = dba::select('item', ['id', 'iaid', 'icid'], $condition);
while ($row = dba::fetch($rows)) {
dba::delete('item', ['id' => $row['id']]);
if (!empty($row['iaid']) && !dba::exists('item', ['iaid' => $row['iaid']])) {
dba::delete('item-content', ['id' => $row['icid']]);
dba::delete('item-activity', ['id' => $row['iaid']]);
}
if (!empty($row['icid']) && !dba::exists('item', ['icid' => $row['icid']])) {
dba::delete('item-content', ['id' => $row['icid']]);
}
}
dba::close($r);
dba::close($rows);
logger('Delete expired items - done', LOGGER_DEBUG);