Path: blob/master/src/applications/diffusion/controller/DiffusionPathValidateController.php
12242 views
<?php12final class DiffusionPathValidateController 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();17$repository = $drequest->getRepository();1819$path = $request->getStr('path');20$path = ltrim($path, '/');2122$browse_results = DiffusionBrowseResultSet::newFromConduit(23$this->callConduitWithDiffusionRequest(24'diffusion.browsequery',25array(26'path' => $path,27'commit' => $drequest->getCommit(),28'needValidityOnly' => true,29)));30$valid = $browse_results->isValidResults();3132if (!$valid) {33switch ($browse_results->getReasonForEmptyResultSet()) {34case DiffusionBrowseResultSet::REASON_IS_FILE:35$valid = true;36break;37case DiffusionBrowseResultSet::REASON_IS_EMPTY:38$valid = true;39break;40}41}4243$output = array(44'valid' => (bool)$valid,45);4647return id(new AphrontAjaxResponse())->setContent($output);48}49}505152