Differential D25051 Diff 268 src/applications/files/engineextension/PhabricatorFileAttachmentDestructionEngineExtension.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/files/engineextension/PhabricatorFileAttachmentDestructionEngineExtension.php
- This file was added.
<?php | |||||
final class PhabricatorFileAttachmentDestructionEngineExtension | |||||
extends PhabricatorDestructionEngineExtension { | |||||
const EXTENSIONKEY = 'attachments'; | |||||
public function getExtensionName() { | |||||
return pht('File Attachments'); | |||||
} | |||||
public function canDestroyObject( | |||||
PhabricatorDestructionEngine $engine, | |||||
$object) { | |||||
return ($object instanceof PhabricatorFile); | |||||
} | |||||
public function destroyObject( | |||||
PhabricatorDestructionEngine $engine, | |||||
$object) { | |||||
$file_phid = $object->getPHID(); | |||||
$attachments = id(new PhabricatorFileAttachmentQuery()) | |||||
->setViewer(PhabricatorUser::getOmnipotentUser()) | |||||
->withFilePHIDs(array($file_phid)) | |||||
->execute(); | |||||
mpull($attachments, 'delete'); | |||||
} | |||||
} |