]> git.mxchange.org Git - friendica.git/commitdiff
Issue 7613: When an item is deleted, delete all notifications for it
authorMichael <heluecht@pirati.ca>
Tue, 10 Dec 2019 06:21:18 +0000 (06:21 +0000)
committerMichael <heluecht@pirati.ca>
Tue, 10 Dec 2019 06:21:18 +0000 (06:21 +0000)
src/Model/Item.php

index 1e3b16002a0e63740f7486a36357bed317208ab6..5427ff44b3e5bf046927ba23bb3a9178ee4dfbfd 100644 (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']]);