Issue 7613: When an item is deleted, delete all notifications for it

This commit is contained in:
Michael 2019-12-10 06:21:18 +00:00
parent 010a7b7576
commit a6c72a209e

View file

@ -1083,6 +1083,9 @@ class Item extends BaseObject
// "Deleting" global items just means hiding them
if ($item['uid'] == 0) {
DBA::update('user-item', ['hidden' => true], ['iid' => $item['id'], 'uid' => $uid], true);
// Delete notifications
DBA::delete('notify', ['iid' => $item['id'], 'uid' => $uid]);
} elseif ($item['uid'] == $uid) {
self::deleteById($item['id'], PRIORITY_HIGH);
} else {
@ -1173,6 +1176,9 @@ class Item extends BaseObject
// Delete tags that had been attached to other items
self::deleteTagsFromItem($item);
// Delete notifications
DBA::delete('notify', ['iid' => $item['id'], 'uid' => $item['uid']]);
// Set the item to "deleted"
$item_fields = ['deleted' => true, 'edited' => DateTimeFormat::utcNow(), 'changed' => DateTimeFormat::utcNow()];
DBA::update('item', $item_fields, ['id' => $item['id']]);