@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
at upstream/main 53 lines 1.3 kB view raw
1<?php 2 3final 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}