Something went wrong. Try again.
@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
Something went wrong. Try again.
933 B · 36 lines
PHP
at commit e0faa667
12345678910111213141516171819202122232425262728293031323334353637<?php
final class DiffusionPathTreeController extends DiffusionController {
protected function processDiffusionRequest(AphrontRequest $request) { $drequest = $this->getDiffusionRequest();
if (!$drequest->getRepository()->canUsePathTree()) { return new Aphront404Response(); }
$paths = $this->callConduitWithDiffusionRequest( 'diffusion.querypaths', array( 'path' => $drequest->getPath(), 'commit' => $drequest->getCommit(), ));
$tree = array(); foreach ($paths as $path) { $parts = preg_split('((?<=/))', $path); $cursor = &$tree; foreach ($parts as $part) { if (!is_array($cursor)) { $cursor = array(); } if (!isset($cursor[$part])) { $cursor[$part] = 1; } $cursor = &$cursor[$part]; } }
return id(new AphrontAjaxResponse())->setContent(array('tree' => $tree)); }}