Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/infrastructure/export/engine/PhabricatorSpacesExportEngineExtension.php
12242 views
1
<?php
2
3
final class PhabricatorSpacesExportEngineExtension
4
extends PhabricatorExportEngineExtension {
5
6
const EXTENSIONKEY = 'spaces';
7
8
public function supportsObject($object) {
9
$viewer = $this->getViewer();
10
11
if (!PhabricatorSpacesNamespaceQuery::getViewerSpacesExist($viewer)) {
12
return false;
13
}
14
15
return ($object instanceof PhabricatorSpacesInterface);
16
}
17
18
public function newExportFields() {
19
return array(
20
id(new PhabricatorPHIDExportField())
21
->setKey('spacePHID')
22
->setLabel(pht('Space PHID')),
23
id(new PhabricatorStringExportField())
24
->setKey('space')
25
->setLabel(pht('Space')),
26
);
27
}
28
29
public function newExportData(array $objects) {
30
$viewer = $this->getViewer();
31
32
$space_phids = array();
33
foreach ($objects as $object) {
34
$space_phids[] = PhabricatorSpacesNamespaceQuery::getObjectSpacePHID(
35
$object);
36
}
37
$handles = $viewer->loadHandles($space_phids);
38
39
$map = array();
40
foreach ($objects as $object) {
41
$space_phid = PhabricatorSpacesNamespaceQuery::getObjectSpacePHID(
42
$object);
43
44
$map[] = array(
45
'spacePHID' => $space_phid,
46
'space' => $handles[$space_phid]->getName(),
47
);
48
}
49
50
return $map;
51
}
52
53
}
54
55