Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/metamta/engine/PhabricatorMailEngineExtension.php
12256 views
1
<?php
2
3
abstract class PhabricatorMailEngineExtension
4
extends Phobject {
5
6
private $viewer;
7
private $editor;
8
9
final public function getExtensionKey() {
10
return $this->getPhobjectClassConstant('EXTENSIONKEY');
11
}
12
13
final public function setViewer($viewer) {
14
$this->viewer = $viewer;
15
return $this;
16
}
17
18
final public function getViewer() {
19
return $this->viewer;
20
}
21
22
final public function setEditor(
23
PhabricatorApplicationTransactionEditor $editor) {
24
$this->editor = $editor;
25
return $this;
26
}
27
28
final public function getEditor() {
29
return $this->editor;
30
}
31
32
abstract public function supportsObject($object);
33
abstract public function newMailStampTemplates($object);
34
abstract public function newMailStamps($object, array $xactions);
35
36
final public static function getAllExtensions() {
37
return id(new PhutilClassMapQuery())
38
->setAncestorClass(__CLASS__)
39
->setUniqueMethod('getExtensionKey')
40
->execute();
41
}
42
43
final protected function getMailStamp($key) {
44
return $this->getEditor()->getMailStamp($key);
45
}
46
47
}
48
49