@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 55 lines 1.4 kB view raw
1<?php 2 3final class HarbormasterBuildLogViewController 4 extends HarbormasterController { 5 6 public function shouldAllowPublic() { 7 return true; 8 } 9 10 public function handleRequest(AphrontRequest $request) { 11 $viewer = $this->getViewer(); 12 13 $id = $request->getURIData('id'); 14 15 $log = id(new HarbormasterBuildLogQuery()) 16 ->setViewer($viewer) 17 ->withIDs(array($id)) 18 ->executeOne(); 19 if (!$log) { 20 return new Aphront404Response(); 21 } 22 23 $target = $log->getBuildTarget(); 24 $build = $target->getBuild(); 25 26 $page_title = pht('Build Log %d', $log->getID()); 27 28 $log_view = id(new HarbormasterBuildLogView()) 29 ->setViewer($viewer) 30 ->setBuildLog($log) 31 ->setHighlightedLineRange($request->getURIData('lines')) 32 ->setEnableHighlighter(true); 33 34 $crumbs = $this->buildApplicationCrumbs() 35 ->addTextCrumb(pht('Build Logs')) 36 ->addTextCrumb( 37 pht('Build %d', $build->getID()), 38 $build->getURI()) 39 ->addTextCrumb($page_title) 40 ->setBorder(true); 41 42 $page_header = id(new PHUIHeaderView()) 43 ->setHeader($page_title); 44 45 $page_view = id(new PHUITwoColumnView()) 46 ->setHeader($page_header) 47 ->setFooter($log_view); 48 49 return $this->newPage() 50 ->setTitle($page_title) 51 ->setCrumbs($crumbs) 52 ->appendChild($page_view); 53 } 54 55}