Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/files/xaction/PhabricatorFileDeleteTransaction.php
12241 views
1
<?php
2
3
final class PhabricatorFileDeleteTransaction
4
extends PhabricatorFileTransactionType {
5
6
const TRANSACTIONTYPE = 'file:delete';
7
8
public function generateOldValue($object) {
9
return PhabricatorFile::STATUS_ACTIVE;
10
}
11
12
public function applyInternalEffects($object, $value) {
13
$file = $object;
14
// Mark the file for deletion, save it, and schedule a worker to
15
// sweep by later and pick it up.
16
$file->setIsDeleted(true);
17
18
PhabricatorWorker::scheduleTask(
19
'FileDeletionWorker',
20
array('objectPHID' => $file->getPHID()),
21
array('priority' => PhabricatorWorker::PRIORITY_BULK));
22
}
23
24
public function getIcon() {
25
return 'fa-ban';
26
}
27
28
public function getColor() {
29
return 'red';
30
}
31
32
public function getTitle() {
33
return pht(
34
'%s deleted this file.',
35
$this->renderAuthor());
36
}
37
38
public function getTitleForFeed() {
39
return pht(
40
'%s deleted %s.',
41
$this->renderAuthor(),
42
$this->renderObject());
43
}
44
45
}
46
47