@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
fork

Configure Feed

Select the types of activity you want to include in your feed.

at recaptime-dev/main 61 lines 1.7 kB view raw
1<?php 2 3final class PhabricatorFileUICurtainListController 4 extends PhabricatorFileController { 5 6 public function shouldAllowPublic() { 7 return true; 8 } 9 10 public function handleRequest(AphrontRequest $request) { 11 $viewer = $request->getViewer(); 12 13 $object_phid = $request->getURIData('phid'); 14 15 $object = id(new PhabricatorObjectQuery()) 16 ->setViewer($viewer) 17 ->withPHIDs(array($object_phid)) 18 ->executeOne(); 19 if (!$object) { 20 return new Aphront404Response(); 21 } 22 23 $attachments = id(new PhabricatorFileAttachmentQuery()) 24 ->setViewer($viewer) 25 ->withObjectPHIDs(array($object->getPHID())) 26 ->needFiles(true) 27 ->execute(); 28 29 $handles = $viewer->loadHandles(array($object_phid)); 30 $object_handle = $handles[$object_phid]; 31 32 $file_phids = mpull($attachments, 'getFilePHID'); 33 $file_handles = $viewer->loadHandles($file_phids); 34 35 $list = id(new PHUIObjectItemListView()) 36 ->setUser($viewer); 37 foreach ($attachments as $attachment) { 38 $file_phid = $attachment->getFilePHID(); 39 $handle = $file_handles[$file_phid]; 40 41 $item = id(new PHUIObjectItemView()) 42 ->setHeader($handle->getFullName()) 43 ->setHref($handle->getURI()) 44 ->setDisabled($handle->isDisabled()); 45 46 if ($handle->getImageURI()) { 47 $item->setImageURI($handle->getImageURI()); 48 } 49 50 $list->addItem($item); 51 } 52 53 return $this->newDialog() 54 ->setViewer($viewer) 55 ->setWidth(AphrontDialogView::WIDTH_FORM) 56 ->setTitle(pht('Referenced Files')) 57 ->setObjectList($list) 58 ->addCancelButton($object_handle->getURI(), pht('Close')); 59 } 60 61}