[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/diffusion/conduit/ -> DiffusionFileContentQueryConduitAPIMethod.php (source)

   1  <?php
   2  
   3  final class DiffusionFileContentQueryConduitAPIMethod
   4    extends DiffusionQueryConduitAPIMethod {
   5  
   6    public function getAPIMethodName() {
   7      return 'diffusion.filecontentquery';
   8    }
   9  
  10    public function getMethodDescription() {
  11      return 'Retrieve file content from a repository.';
  12    }
  13  
  14    public function defineReturnType() {
  15      return 'array';
  16    }
  17  
  18    protected function defineCustomParamTypes() {
  19      return array(
  20        'path' => 'required string',
  21        'commit' => 'required string',
  22        'needsBlame' => 'optional bool',
  23      );
  24    }
  25  
  26    protected function getResult(ConduitAPIRequest $request) {
  27      $drequest = $this->getDiffusionRequest();
  28      $needs_blame = $request->getValue('needsBlame');
  29      $file_query = DiffusionFileContentQuery::newFromDiffusionRequest(
  30        $drequest);
  31      $file_query
  32        ->setViewer($request->getUser())
  33        ->setNeedsBlame($needs_blame);
  34      $file_content = $file_query->loadFileContent();
  35      if ($needs_blame) {
  36        list($text_list, $rev_list, $blame_dict) = $file_query->getBlameData();
  37      } else {
  38        $text_list = $rev_list = $blame_dict = array();
  39      }
  40      $file_content
  41        ->setBlameDict($blame_dict)
  42        ->setRevList($rev_list)
  43        ->setTextList($text_list);
  44      return $file_content->toDictionary();
  45    }
  46  
  47  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1