@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 42 lines 1.0 kB view raw
1<?php 2 3final class PhrictionMarkupPreviewController 4 extends PhabricatorController { 5 6 public function handleRequest(AphrontRequest $request) { 7 $viewer = $request->getViewer(); 8 9 $text = $request->getStr('text'); 10 $slug = $request->getStr('slug'); 11 12 $document = id(new PhrictionDocumentQuery()) 13 ->setViewer($viewer) 14 ->withSlugs(array($slug)) 15 ->needContent(true) 16 ->executeOne(); 17 if (!$document) { 18 $document = PhrictionDocument::initializeNewDocument( 19 $viewer, 20 $slug); 21 22 $content = id(new PhrictionContent()) 23 ->setSlug($slug); 24 25 $document 26 ->setPHID($document->generatePHID()) 27 ->attachContent($content); 28 } 29 30 $output = PhabricatorMarkupEngine::renderOneObject( 31 id(new PhabricatorMarkupOneOff()) 32 ->setPreserveLinebreaks(true) 33 ->setDisableCache(true) 34 ->setContent($text), 35 'default', 36 $viewer, 37 $document); 38 39 return id(new AphrontAjaxResponse()) 40 ->setContent($output); 41 } 42}