Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/diffusion/identity/DiffusionRepositoryIdentityDestructionEngineExtension.php
12242 views
1
<?php
2
3
final class DiffusionRepositoryIdentityDestructionEngineExtension
4
extends PhabricatorDestructionEngineExtension {
5
6
const EXTENSIONKEY = 'repository-identities';
7
8
public function getExtensionName() {
9
return pht('Repository Identities');
10
}
11
12
public function didDestroyObject(
13
PhabricatorDestructionEngine $engine,
14
$object) {
15
16
// When users or email addresses are destroyed, queue a task to update
17
// any repository identities that are associated with them. See T13444.
18
19
$related_phids = array();
20
$email_addresses = array();
21
22
if ($object instanceof PhabricatorUser) {
23
$related_phids[] = $object->getPHID();
24
}
25
26
if ($object instanceof PhabricatorUserEmail) {
27
$email_addresses[] = $object->getAddress();
28
}
29
30
if ($related_phids || $email_addresses) {
31
PhabricatorWorker::scheduleTask(
32
'PhabricatorRepositoryIdentityChangeWorker',
33
array(
34
'relatedPHIDs' => $related_phids,
35
'emailAddresses' => $email_addresses,
36
));
37
}
38
}
39
40
}
41
42