Differential D18960 Diff 45484 src/infrastructure/export/engine/PhabricatorSpacesExportEngineExtension.php
Changeset View
Changeset View
Standalone View
Standalone View
src/infrastructure/export/engine/PhabricatorSpacesExportEngineExtension.php
- This file was added.
<?php | |||||
final class PhabricatorSpacesExportEngineExtension | |||||
extends PhabricatorExportEngineExtension { | |||||
const EXTENSIONKEY = 'spaces'; | |||||
public function supportsObject($object) { | |||||
$viewer = $this->getViewer(); | |||||
if (!PhabricatorSpacesNamespaceQuery::getViewerSpacesExist($viewer)) { | |||||
return false; | |||||
} | |||||
return ($object instanceof PhabricatorSpacesInterface); | |||||
} | |||||
public function newExportFields() { | |||||
return array( | |||||
id(new PhabricatorPHIDExportField()) | |||||
->setKey('spacePHID') | |||||
->setLabel(pht('Space PHID')), | |||||
id(new PhabricatorStringExportField()) | |||||
->setKey('space') | |||||
->setLabel(pht('Space')), | |||||
); | |||||
} | |||||
public function newExportData(array $objects) { | |||||
$viewer = $this->getViewer(); | |||||
$space_phids = array(); | |||||
foreach ($objects as $object) { | |||||
$space_phids[] = PhabricatorSpacesNamespaceQuery::getObjectSpacePHID( | |||||
$object); | |||||
} | |||||
$handles = $viewer->loadHandles($space_phids); | |||||
$map = array(); | |||||
foreach ($objects as $object) { | |||||
$space_phid = PhabricatorSpacesNamespaceQuery::getObjectSpacePHID( | |||||
$object); | |||||
$map[] = array( | |||||
'spacePHID' => $space_phid, | |||||
'space' => $handles[$space_phid]->getName(), | |||||
); | |||||
} | |||||
return $map; | |||||
} | |||||
} |