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 | |||||