@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 recaptime-dev/main 44 lines 1.1 kB view raw
1<?php 2 3final class PholioImageUploadController extends PholioController { 4 5 public function handleRequest(AphrontRequest $request) { 6 $viewer = $request->getViewer(); 7 8 $phid = $request->getStr('filePHID'); 9 $replaces_phid = $request->getStr('replacesPHID'); 10 $title = $request->getStr('title'); 11 $description = $request->getStr('description'); 12 13 $file = id(new PhabricatorFileQuery()) 14 ->setViewer($viewer) 15 ->withPHIDs(array($phid)) 16 ->executeOne(); 17 if (!$file) { 18 return new Aphront404Response(); 19 } 20 21 if (!phutil_nonempty_string($title)) { 22 $title = $file->getName(); 23 } 24 25 $image = PholioImage::initializeNewImage() 26 ->setAuthorPHID($viewer->getPHID()) 27 ->attachFile($file) 28 ->setName($title) 29 ->setDescription($description) 30 ->makeEphemeral(); 31 32 $view = id(new PholioUploadedImageView()) 33 ->setUser($viewer) 34 ->setImage($image) 35 ->setReplacesPHID($replaces_phid); 36 37 $content = array( 38 'markup' => $view, 39 ); 40 41 return id(new AphrontAjaxResponse())->setContent($content); 42 } 43 44}