Path: blob/master/src/applications/diffusion/controller/DiffusionPathCompleteController.php
12242 views
<?php12final class DiffusionPathCompleteController extends DiffusionController {34protected function getRepositoryIdentifierFromRequest(5AphrontRequest $request) {6return $request->getStr('repositoryPHID');7}89public function handleRequest(AphrontRequest $request) {10$response = $this->loadDiffusionContext();11if ($response) {12return $response;13}1415$viewer = $this->getViewer();16$drequest = $this->getDiffusionRequest();1718$query_path = $request->getStr('q');19if (preg_match('@/$@', $query_path)) {20$query_dir = $query_path;21} else {22$query_dir = dirname($query_path).'/';23}24$query_dir = ltrim($query_dir, '/');2526$browse_results = DiffusionBrowseResultSet::newFromConduit(27$this->callConduitWithDiffusionRequest(28'diffusion.browsequery',29array(30'path' => $query_dir,31'commit' => $drequest->getCommit(),32)));33$paths = $browse_results->getPaths();3435$output = array();36foreach ($paths as $path) {37$full_path = $query_dir.$path->getPath();38if ($path->getFileType() == DifferentialChangeType::FILE_DIRECTORY) {39$full_path .= '/';40}41$output[] = array('/'.$full_path, null, substr(md5($full_path), 0, 7));42}4344return id(new AphrontAjaxResponse())->setContent($output);45}46}474849