@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1<?php
2
3final class PholioTransaction extends PhabricatorModularTransaction {
4
5 const MAILTAG_STATUS = 'pholio-status';
6 const MAILTAG_COMMENT = 'pholio-comment';
7 const MAILTAG_UPDATED = 'pholio-updated';
8 const MAILTAG_OTHER = 'pholio-other';
9
10 public function getApplicationName() {
11 return 'pholio';
12 }
13
14 public function getBaseTransactionClass() {
15 return PholioTransactionType::class;
16 }
17
18 public function getApplicationTransactionType() {
19 return PholioMockPHIDType::TYPECONST;
20 }
21
22 public function getApplicationTransactionCommentObject() {
23 return new PholioTransactionComment();
24 }
25
26 public function getMailTags() {
27 $tags = array();
28 switch ($this->getTransactionType()) {
29 case PholioMockInlineTransaction::TRANSACTIONTYPE:
30 case PhabricatorTransactions::TYPE_COMMENT:
31 $tags[] = self::MAILTAG_COMMENT;
32 break;
33 case PholioMockStatusTransaction::TRANSACTIONTYPE:
34 $tags[] = self::MAILTAG_STATUS;
35 break;
36 case PholioMockNameTransaction::TRANSACTIONTYPE:
37 case PholioMockDescriptionTransaction::TRANSACTIONTYPE:
38 case PholioImageNameTransaction::TRANSACTIONTYPE:
39 case PholioImageDescriptionTransaction::TRANSACTIONTYPE:
40 case PholioImageSequenceTransaction::TRANSACTIONTYPE:
41 case PholioImageFileTransaction::TRANSACTIONTYPE:
42 case PholioImageReplaceTransaction::TRANSACTIONTYPE:
43 $tags[] = self::MAILTAG_UPDATED;
44 break;
45 default:
46 $tags[] = self::MAILTAG_OTHER;
47 break;
48 }
49 return $tags;
50 }
51
52 public function isInlineCommentTransaction() {
53 switch ($this->getTransactionType()) {
54 case PholioMockInlineTransaction::TRANSACTIONTYPE:
55 return true;
56 }
57
58 return parent::isInlineCommentTransaction();
59 }
60
61}