diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -1557,7 +1557,6 @@ 'PhabricatorFileListController' => 'applications/files/controller/PhabricatorFileListController.php', 'PhabricatorFileQuery' => 'applications/files/query/PhabricatorFileQuery.php', 'PhabricatorFileSearchEngine' => 'applications/files/query/PhabricatorFileSearchEngine.php', - 'PhabricatorFileShortcutController' => 'applications/files/controller/PhabricatorFileShortcutController.php', 'PhabricatorFileStorageBlob' => 'applications/files/storage/PhabricatorFileStorageBlob.php', 'PhabricatorFileStorageConfigurationException' => 'applications/files/exception/PhabricatorFileStorageConfigurationException.php', 'PhabricatorFileStorageEngine' => 'applications/files/engine/PhabricatorFileStorageEngine.php', @@ -4406,7 +4405,6 @@ 'PhabricatorFileListController' => 'PhabricatorFileController', 'PhabricatorFileQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'PhabricatorFileSearchEngine' => 'PhabricatorApplicationSearchEngine', - 'PhabricatorFileShortcutController' => 'PhabricatorFileController', 'PhabricatorFileStorageBlob' => 'PhabricatorFileDAO', 'PhabricatorFileStorageConfigurationException' => 'Exception', 'PhabricatorFileTemporaryGarbageCollector' => 'PhabricatorGarbageCollector', diff --git a/src/applications/files/application/PhabricatorFilesApplication.php b/src/applications/files/application/PhabricatorFilesApplication.php --- a/src/applications/files/application/PhabricatorFilesApplication.php +++ b/src/applications/files/application/PhabricatorFilesApplication.php @@ -42,7 +42,7 @@ public function getRoutes() { return array( - '/F(?P[1-9]\d*)' => 'PhabricatorFileShortcutController', + '/F(?P[1-9]\d*)' => 'PhabricatorFileInfoController', '/file/' => array( '(query/(?P[^/]+)/)?' => 'PhabricatorFileListController', 'upload/' => 'PhabricatorFileUploadController', diff --git a/src/applications/files/controller/PhabricatorFileInfoController.php b/src/applications/files/controller/PhabricatorFileInfoController.php --- a/src/applications/files/controller/PhabricatorFileInfoController.php +++ b/src/applications/files/controller/PhabricatorFileInfoController.php @@ -3,20 +3,36 @@ final class PhabricatorFileInfoController extends PhabricatorFileController { private $phid; + private $id; + + public function shouldAllowPublic() { + return true; + } public function willProcessRequest(array $data) { - $this->phid = $data['phid']; + $this->phid = idx($data, 'phid'); + $this->id = idx($data, 'id'); } public function processRequest() { $request = $this->getRequest(); $user = $request->getUser(); + if ($this->phid) { + $file = id(new PhabricatorFileQuery()) + ->setViewer($user) + ->withPHIDs(array($this->phid)) + ->executeOne(); + + if (!$file) { + return new Aphront404Response(); + } + return id(new AphrontRedirectResponse())->setURI($file->getInfoURI()); + } $file = id(new PhabricatorFileQuery()) ->setViewer($user) - ->withPHIDs(array($this->phid)) + ->withIDs(array($this->id)) ->executeOne(); - if (!$file) { return new Aphront404Response(); } diff --git a/src/applications/files/controller/PhabricatorFileShortcutController.php b/src/applications/files/controller/PhabricatorFileShortcutController.php deleted file mode 100644 --- a/src/applications/files/controller/PhabricatorFileShortcutController.php +++ /dev/null @@ -1,24 +0,0 @@ -id = $data['id']; - } - - public function processRequest() { - $file = id(new PhabricatorFileQuery()) - ->setViewer($this->getRequest()->getUser()) - ->withIDs(array($this->id)) - ->executeOne(); - if (!$file) { - return new Aphront404Response(); - } - - return id(new AphrontRedirectResponse())->setURI($file->getInfoURI()); - } - -} diff --git a/src/applications/files/storage/PhabricatorFile.php b/src/applications/files/storage/PhabricatorFile.php --- a/src/applications/files/storage/PhabricatorFile.php +++ b/src/applications/files/storage/PhabricatorFile.php @@ -495,7 +495,7 @@ } public function getInfoURI() { - return '/file/info/'.$this->getPHID().'/'; + return '/'.$this->getMonogram(); } public function getBestURI() {