Page MenuHomePhabricator

D13112.id31653.diff
No OneTemporary

D13112.id31653.diff

diff --git a/src/applications/system/engine/PhabricatorDestructionEngine.php b/src/applications/system/engine/PhabricatorDestructionEngine.php
--- a/src/applications/system/engine/PhabricatorDestructionEngine.php
+++ b/src/applications/system/engine/PhabricatorDestructionEngine.php
@@ -69,8 +69,23 @@
$this->destroySearchIndexes($object_phid);
- // TODO: PhabricatorFlaggableInterface
- // TODO: PhabricatorTokenReceiverInterface
+ if ($object instanceof PhabricatorFlaggableInterface) {
+ $flags = id(new PhabricatorFlag())->loadAllWhere(
+ 'objectPHID = %s', $object_phid);
+
+ foreach ($flags as $flag) {
+ $flag->delete();
+ }
+ }
+
+ if ($object instanceof PhabricatorTokenReceiverInterface) {
+ $tokens = id(new PhabricatorTokenGiven())->loadAllWhere(
+ 'objectPHID = %s', $object_phid);
+
+ foreach ($tokens as $token) {
+ $token->delete();
+ }
+ }
}
private function destroyEdges($src_phid) {

File Metadata

Mime Type
text/plain
Expires
Thu, Sep 19, 12:15 PM (22 s)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6620959
Default Alt Text
D13112.id31653.diff (996 B)

Event Timeline