Differential D20579 Diff 49095 src/applications/differential/controller/DifferentialRevisionViewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/differential/controller/DifferentialRevisionViewController.php
Show First 20 Lines • Show All 1,027 Lines • ▼ Show 20 Lines | private function renderOtherRevisions(array $revisions) { | ||||
return id(new DifferentialRevisionListView()) | return id(new DifferentialRevisionListView()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->setRevisions($revisions) | ->setRevisions($revisions) | ||||
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) | ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) | ||||
->setNoBox(true); | ->setNoBox(true); | ||||
} | } | ||||
/** | |||||
* Note this code is somewhat similar to the buildPatch method in | |||||
* @{class:DifferentialReviewRequestMail}. | |||||
* | |||||
* @return @{class:AphrontRedirectResponse} | |||||
*/ | |||||
private function buildRawDiffResponse( | private function buildRawDiffResponse( | ||||
DifferentialRevision $revision, | DifferentialRevision $revision, | ||||
array $changesets, | array $changesets, | ||||
array $vs_changesets, | array $vs_changesets, | ||||
array $vs_map, | array $vs_map, | ||||
PhabricatorRepository $repository = null) { | PhabricatorRepository $repository = null) { | ||||
assert_instances_of($changesets, 'DifferentialChangeset'); | assert_instances_of($changesets, 'DifferentialChangeset'); | ||||
▲ Show 20 Lines • Show All 45 Lines • ▼ Show 20 Lines | foreach ($request_uri->getQueryParamsAsPairList() as $pair) { | ||||
list($key, $value) = $pair; | list($key, $value) = $pair; | ||||
if ($key == 'download') { | if ($key == 'download') { | ||||
continue; | continue; | ||||
} | } | ||||
$file_name .= $key.$value.'.'; | $file_name .= $key.$value.'.'; | ||||
} | } | ||||
$file_name .= 'diff'; | $file_name .= 'diff'; | ||||
$unguarded = AphrontWriteGuard::beginScopedUnguardedWrites(); | $iterator = new ArrayIterator(array($raw_diff)); | ||||
$file = PhabricatorFile::newFromFileData( | |||||
$raw_diff, | |||||
array( | |||||
'name' => $file_name, | |||||
'ttl.relative' => phutil_units('24 hours in seconds'), | |||||
'viewPolicy' => PhabricatorPolicies::POLICY_NOONE, | |||||
)); | |||||
$source = id(new PhabricatorIteratorFileUploadSource()) | |||||
->setName($file_name) | |||||
->setMIMEType('text/plain') | |||||
->setRelativeTTL(phutil_units('24 hours in seconds')) | |||||
->setViewPolicy(PhabricatorPolicies::POLICY_NOONE) | |||||
->setIterator($iterator); | |||||
$unguarded = AphrontWriteGuard::beginScopedUnguardedWrites(); | |||||
$file = $source->uploadFile(); | |||||
$file->attachToObject($revision->getPHID()); | $file->attachToObject($revision->getPHID()); | ||||
unset($unguarded); | unset($unguarded); | ||||
return $file->getRedirectResponse(); | return $file->getRedirectResponse(); | ||||
} | } | ||||
private function buildTransactions( | private function buildTransactions( | ||||
DifferentialRevision $revision, | DifferentialRevision $revision, | ||||
▲ Show 20 Lines • Show All 330 Lines • Show Last 20 Lines |