private function buildTransformedFileResponse(PhabricatorTransformedFile $xform) { $file = id(new PhabricatorFile())->loadOneWhere('phid = %s', $xform->getTransformedPHID()); if ($file) { $uri = $file->getBestURI(); } else { $bad_phid = $xform->getTransformedPHID(); throw new Exception("Unable to load file with phid {$bad_phid}."); } // TODO: We could just delegate to the file view controller instead, // which would save the client a roundtrip, but is slightly more complex. return id(new AphrontRedirectResponse())->setURI($uri); }
private function buildTransformedFileResponse(PhabricatorTransformedFile $xform) { // TODO: We could just delegate to the file view controller instead, // which would save the client a roundtrip, but is slightly more complex. return id(new AphrontRedirectResponse())->setURI(PhabricatorFileURI::getViewURIForPHID($xform->getTransformedPHID())); }
private function buildTransformedFileResponse(PhabricatorTransformedFile $xform) { $file = id(new PhabricatorFileQuery())->setViewer(PhabricatorUser::getOmnipotentUser())->withPHIDs(array($xform->getTransformedPHID()))->executeOne(); if (!$file) { return new Aphront404Response(); } // TODO: We could just delegate to the file view controller instead, // which would save the client a roundtrip, but is slightly more complex. return $file->getRedirectResponse(); }
private function destroyTransform(PhabricatorTransformedFile $xform) { $engine = new PhabricatorDestructionEngine(); $file = id(new PhabricatorFileQuery())->setViewer($engine->getViewer())->withPHIDs(array($xform->getTransformedPHID()))->executeOne(); $unguarded = AphrontWriteGuard::beginScopedUnguardedWrites(); if (!$file) { if ($xform->getID()) { $xform->delete(); } } else { $engine->destroyObject($file); } unset($unguarded); }