@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 PhabricatorSubscriptionsRemoveSubscribersHeraldAction
4 extends PhabricatorSubscriptionsHeraldAction {
5
6 const ACTIONCONST = 'subscribers.remove';
7
8 public function getHeraldActionName() {
9 return pht('Remove subscribers');
10 }
11
12 public function supportsRuleType($rule_type) {
13 return ($rule_type != HeraldRuleTypeConfig::RULE_TYPE_PERSONAL);
14 }
15
16 public function applyEffect($object, HeraldEffect $effect) {
17 return $this->applySubscribe($effect->getTarget(), $is_add = false);
18 }
19
20 public function getHeraldActionStandardType() {
21 return self::STANDARD_PHID_LIST;
22 }
23
24 protected function getDatasource() {
25 return new PhabricatorMetaMTAMailableDatasource();
26 }
27
28 public function renderActionDescription($value) {
29 return pht('Remove subscribers: %s.', $this->renderHandleList($value));
30 }
31
32 public function getPHIDsAffectedByAction(HeraldActionRecord $record) {
33 return $record->getTarget();
34 }
35
36}