Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/differential/command/DifferentialActionEmailCommand.php
12256 views
1
<?php
2
3
final class DifferentialActionEmailCommand
4
extends MetaMTAEmailTransactionCommand {
5
6
private $command;
7
private $action;
8
private $aliases;
9
private $commandSummary;
10
private $commandDescription;
11
12
public function getCommand() {
13
return $this->command;
14
}
15
16
private function setCommand($command) {
17
$this->command = $command;
18
return $this;
19
}
20
21
private function setAction($action) {
22
$this->action = $action;
23
return $this;
24
}
25
26
private function getAction() {
27
return $this->action;
28
}
29
30
private function setCommandAliases(array $aliases) {
31
$this->aliases = $aliases;
32
return $this;
33
}
34
35
public function getCommandAliases() {
36
return $this->aliases;
37
}
38
39
public function setCommandSummary($command_summary) {
40
$this->commandSummary = $command_summary;
41
return $this;
42
}
43
44
public function getCommandSummary() {
45
return $this->commandSummary;
46
}
47
48
public function setCommandDescription($command_description) {
49
$this->commandDescription = $command_description;
50
return $this;
51
}
52
53
public function getCommandDescription() {
54
return $this->commandDescription;
55
}
56
57
public function getCommandObjects() {
58
$actions = DifferentialRevisionActionTransaction::loadAllActions();
59
$actions = msortv($actions, 'getRevisionActionOrderVector');
60
61
$objects = array();
62
foreach ($actions as $action) {
63
$keyword = $action->getCommandKeyword();
64
if ($keyword === null) {
65
continue;
66
}
67
68
$aliases = $action->getCommandAliases();
69
$summary = $action->getCommandSummary();
70
71
$object = id(new self())
72
->setCommand($keyword)
73
->setCommandAliases($aliases)
74
->setAction($action->getTransactionTypeConstant())
75
->setCommandSummary($summary);
76
77
$objects[] = $object;
78
}
79
80
return $objects;
81
}
82
83
public function isCommandSupportedForObject(
84
PhabricatorApplicationTransactionInterface $object) {
85
return ($object instanceof DifferentialRevision);
86
}
87
88
public function buildTransactions(
89
PhabricatorUser $viewer,
90
PhabricatorApplicationTransactionInterface $object,
91
PhabricatorMetaMTAReceivedMail $mail,
92
$command,
93
array $argv) {
94
$xactions = array();
95
96
$xactions[] = $object->getApplicationTransactionTemplate()
97
->setTransactionType($this->getAction())
98
->setNewValue(true);
99
100
return $xactions;
101
}
102
103
}
104
105