Differential D14832 Diff 35860 src/applications/tokens/engineextension/PhabricatorTokenDestructionEngineExtension.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/tokens/engineextension/PhabricatorTokenDestructionEngineExtension.php
- This file was added.
<?php | |||||
final class PhabricatorTokenDestructionEngineExtension | |||||
extends PhabricatorDestructionEngineExtension { | |||||
const EXTENSIONKEY = 'tokens'; | |||||
public function getExtensionName() { | |||||
return pht('Tokens'); | |||||
} | |||||
public function canDestroyObject( | |||||
PhabricatorDestructionEngine $engine, | |||||
$object) { | |||||
return ($object instanceof PhabricatorTokenReceiverInterface); | |||||
} | |||||
public function destroyObject( | |||||
PhabricatorDestructionEngine $engine, | |||||
$object) { | |||||
$tokens = id(new PhabricatorTokenGiven())->loadAllWhere( | |||||
'objectPHID = %s', | |||||
$object->getPHID()); | |||||
foreach ($tokens as $token) { | |||||
$token->delete(); | |||||
} | |||||
} | |||||
} |