From 84ea5c53e4e43475bd08fe0534dc01da0600149a Mon Sep 17 00:00:00 2001 From: Bob Trahan Date: Tue, 10 Jan 2012 14:48:55 -0800 Subject: [PATCH] Kill PhabricatorFileURI Summary: we used to need this function for security purposes, but no longer need it. remove it so that some call sites can be optimized via smarter data fetching, and so the whole codebase can have one less thing in it. Test Plan: verified the images displayed properly for each of the following - viewed a diff with added images. - viewed a user feed - viewed a user profile - viewed all image macros - viewed a paste and clicked through "raw link" weakness in testing around proxy files and transformed files. not sure what these are. changes here are very programmatic however. Reviewers: epriestley Reviewed By: epriestley CC: aran, btrahan, epriestley Maniphest Tasks: T672 Differential Revision: https://secure.phabricator.com/D1354 --- src/__phutil_library_map__.php | 1 - .../changeset/DifferentialChangesetParser.php | 41 +++++++++++++------ .../parser/changeset/__init__.php | 2 +- .../PhabricatorFeedStoryDifferential.php | 7 ++-- .../feed/story/differential/__init__.php | 1 - .../PhabricatorFeedStoryManiphest.php | 8 ++-- .../feed/story/maniphest/__init__.php | 1 - .../PhabricatorFeedStoryPhriction.php | 7 ++-- .../feed/story/phriction/__init__.php | 1 - .../status/PhabricatorFeedStoryStatus.php | 7 ++-- .../feed/story/status/__init__.php | 1 - .../PhabricatorFileMacroListController.php | 9 ++-- .../files/controller/macrolist/__init__.php | 1 - .../proxy/PhabricatorFileProxyController.php | 13 +++++- .../files/controller/proxy/__init__.php | 1 - .../PhabricatorFileTransformController.php | 17 ++++++-- .../files/controller/transform/__init__.php | 1 - .../view/PhabricatorFileViewController.php | 9 +++- .../files/controller/view/__init__.php | 1 - .../files/uri/PhabricatorFileURI.php | 36 ---------------- src/applications/files/uri/__init__.php | 14 ------- .../view/PhabricatorPasteViewController.php | 4 +- .../paste/controller/view/__init__.php | 1 - .../PhabricatorPeopleProfileController.php | 9 +++- .../people/controller/profile/__init__.php | 2 +- ...atorUserProfileSettingsPanelController.php | 10 ++++- .../settings/panels/profile/__init__.php | 1 - .../data/PhabricatorObjectHandleData.php | 2 +- .../PhabricatorProjectProfileController.php | 12 +++++- .../project/controller/profile/__init__.php | 2 +- .../PhabricatorSearchResultView.php | 14 +------ .../search/view/searchresult/__init__.php | 1 - .../PhabricatorSlowvotePollController.php | 5 +-- .../slowvote/controller/poll/__init__.php | 1 - .../PhabricatorRemarkupRuleImageMacro.php | 10 ++++- .../markuprule/imagemacro/__init__.php | 2 +- 36 files changed, 122 insertions(+), 133 deletions(-) delete mode 100644 src/applications/files/uri/PhabricatorFileURI.php delete mode 100644 src/applications/files/uri/__init__.php diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 1bdb734b2c..e50eea8260 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -475,7 +475,6 @@ phutil_register_library_map(array( 'PhabricatorFileStorageEngine' => 'applications/files/engine/base', 'PhabricatorFileStorageEngineSelector' => 'applications/files/engineselector/base', 'PhabricatorFileTransformController' => 'applications/files/controller/transform', - 'PhabricatorFileURI' => 'applications/files/uri', 'PhabricatorFileUploadController' => 'applications/files/controller/upload', 'PhabricatorFileUploadException' => 'applications/files/exception/upload', 'PhabricatorFileUploadView' => 'applications/files/view/upload', diff --git a/src/applications/differential/parser/changeset/DifferentialChangesetParser.php b/src/applications/differential/parser/changeset/DifferentialChangesetParser.php index b0caa6a16a..bfcecdbd2b 100644 --- a/src/applications/differential/parser/changeset/DifferentialChangesetParser.php +++ b/src/applications/differential/parser/changeset/DifferentialChangesetParser.php @@ -867,7 +867,6 @@ class DifferentialChangesetParser { $range_len = null, $mask_force = array()) { - // "Top level" renders are initial requests for the whole file, versus // requests for a specific range generated by clicking "show more". We // generate property changes and "shield" UI elements only for toplevel @@ -915,21 +914,37 @@ class DifferentialChangesetParser { } if ($old_phid || $new_phid) { + + // grab the files, (micro) optimization for 1 query not 2 + $file_phids = array(); if ($old_phid) { - $old_uri = PhabricatorFileURI::getViewURIForPHID($old_phid); - $old = phutil_render_tag( - 'img', - array( - 'src' => $old_uri, - )); + $file_phids[] = $old_phid; } if ($new_phid) { - $new_uri = PhabricatorFileURI::getViewURIForPHID($new_phid); - $cur = phutil_render_tag( - 'img', - array( - 'src' => $new_uri, - )); + $file_phids[] = $new_phid; + } + + $files = id(new PhabricatorFile())->loadAllWhere( + 'phid IN (%Ls)', + $file_phids); + + foreach ($files as $file) { + if (empty($file)) { + continue; + } + if ($file->getPHID() == $old_phid) { + $old = phutil_render_tag( + 'img', + array( + 'src' => $file->getBestURI(), + )); + } else { + $cur = phutil_render_tag( + 'img', + array( + 'src' => $file->getBestURI(), + )); + } } } diff --git a/src/applications/differential/parser/changeset/__init__.php b/src/applications/differential/parser/changeset/__init__.php index 26ebee053e..15d1a09dc3 100644 --- a/src/applications/differential/parser/changeset/__init__.php +++ b/src/applications/differential/parser/changeset/__init__.php @@ -12,7 +12,7 @@ phutil_require_module('phabricator', 'aphront/writeguard'); phutil_require_module('phabricator', 'applications/differential/constants/changetype'); phutil_require_module('phabricator', 'applications/differential/storage/changeset'); phutil_require_module('phabricator', 'applications/differential/view/inlinecomment'); -phutil_require_module('phabricator', 'applications/files/uri'); +phutil_require_module('phabricator', 'applications/files/storage/file'); phutil_require_module('phabricator', 'applications/markup/syntax'); phutil_require_module('phabricator', 'infrastructure/diff/engine'); phutil_require_module('phabricator', 'infrastructure/events/constant/type'); diff --git a/src/applications/feed/story/differential/PhabricatorFeedStoryDifferential.php b/src/applications/feed/story/differential/PhabricatorFeedStoryDifferential.php index b4ab02028f..87b974b97a 100644 --- a/src/applications/feed/story/differential/PhabricatorFeedStoryDifferential.php +++ b/src/applications/feed/story/differential/PhabricatorFeedStoryDifferential.php @@ -1,7 +1,7 @@ getProfileImagePHID(); - $image_uri = PhabricatorFileURI::getViewURIForPHID($image_phid); + if (!empty($handles[$author_phid])) { + $image_uri = $handles[$author_phid]->getImageURI(); $view->setImage($image_uri); } diff --git a/src/applications/feed/story/differential/__init__.php b/src/applications/feed/story/differential/__init__.php index 93cc715499..d875c8aafd 100644 --- a/src/applications/feed/story/differential/__init__.php +++ b/src/applications/feed/story/differential/__init__.php @@ -9,7 +9,6 @@ phutil_require_module('phabricator', 'applications/differential/constants/action'); phutil_require_module('phabricator', 'applications/feed/story/base'); phutil_require_module('phabricator', 'applications/feed/view/story'); -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phutil', 'markup'); diff --git a/src/applications/feed/story/maniphest/PhabricatorFeedStoryManiphest.php b/src/applications/feed/story/maniphest/PhabricatorFeedStoryManiphest.php index 91265a9d9c..4961ec2116 100644 --- a/src/applications/feed/story/maniphest/PhabricatorFeedStoryManiphest.php +++ b/src/applications/feed/story/maniphest/PhabricatorFeedStoryManiphest.php @@ -1,7 +1,7 @@ getValue('taskPHID'); $objects = $this->getObjects(); + $handles = $this->getHandles(); $action = $data->getValue('action'); $view = new PhabricatorFeedStoryView(); @@ -82,9 +83,8 @@ class PhabricatorFeedStoryManiphest extends PhabricatorFeedStory { $view->setEpoch($data->getEpoch()); if ($full_size) { - if (!empty($objects[$author_phid])) { - $image_phid = $objects[$author_phid]->getProfileImagePHID(); - $image_uri = PhabricatorFileURI::getViewURIForPHID($image_phid); + if (!empty($handles[$author_phid])) { + $image_uri = $handles[$author_phid]->getImageURI(); $view->setImage($image_uri); } diff --git a/src/applications/feed/story/maniphest/__init__.php b/src/applications/feed/story/maniphest/__init__.php index 5a8b993c9f..e7e720c831 100644 --- a/src/applications/feed/story/maniphest/__init__.php +++ b/src/applications/feed/story/maniphest/__init__.php @@ -8,7 +8,6 @@ phutil_require_module('phabricator', 'applications/feed/story/base'); phutil_require_module('phabricator', 'applications/feed/view/story'); -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phabricator', 'applications/maniphest/constants/action'); phutil_require_module('phutil', 'markup'); diff --git a/src/applications/feed/story/phriction/PhabricatorFeedStoryPhriction.php b/src/applications/feed/story/phriction/PhabricatorFeedStoryPhriction.php index 8ab7289914..c55b8ccabb 100644 --- a/src/applications/feed/story/phriction/PhabricatorFeedStoryPhriction.php +++ b/src/applications/feed/story/phriction/PhabricatorFeedStoryPhriction.php @@ -1,7 +1,7 @@ getProfileImagePHID(); - $image_uri = PhabricatorFileURI::getViewURIForPHID($image_phid); + if (!empty($handles[$author_phid])) { + $image_uri = $handles[$author_phid]->getImageURI(); $view->setImage($image_uri); } diff --git a/src/applications/feed/story/phriction/__init__.php b/src/applications/feed/story/phriction/__init__.php index 22e9dabeb5..a78d7ce3ec 100644 --- a/src/applications/feed/story/phriction/__init__.php +++ b/src/applications/feed/story/phriction/__init__.php @@ -8,7 +8,6 @@ phutil_require_module('phabricator', 'applications/feed/story/base'); phutil_require_module('phabricator', 'applications/feed/view/story'); -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phabricator', 'applications/phriction/constants/action'); phutil_require_module('phutil', 'markup'); diff --git a/src/applications/feed/story/status/PhabricatorFeedStoryStatus.php b/src/applications/feed/story/status/PhabricatorFeedStoryStatus.php index 51a281370c..5051106402 100644 --- a/src/applications/feed/story/status/PhabricatorFeedStoryStatus.php +++ b/src/applications/feed/story/status/PhabricatorFeedStoryStatus.php @@ -1,7 +1,7 @@ '.$handles[$author_phid]->renderLink().''); $view->setEpoch($data->getEpoch()); - if (!empty($objects[$author_phid])) { - $image_phid = $objects[$author_phid]->getProfileImagePHID(); - $image_uri = PhabricatorFileURI::getViewURIForPHID($image_phid); + if (!empty($handles[$author_phid])) { + $image_uri = $handles[$author_phid]->getImageURI(); $view->setImage($image_uri); } diff --git a/src/applications/feed/story/status/__init__.php b/src/applications/feed/story/status/__init__.php index b177546848..56ccbac488 100644 --- a/src/applications/feed/story/status/__init__.php +++ b/src/applications/feed/story/status/__init__.php @@ -8,7 +8,6 @@ phutil_require_module('phabricator', 'applications/feed/story/base'); phutil_require_module('phabricator', 'applications/feed/view/story'); -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phutil', 'markup'); diff --git a/src/applications/files/controller/macrolist/PhabricatorFileMacroListController.php b/src/applications/files/controller/macrolist/PhabricatorFileMacroListController.php index 3de8297418..f5c5c6ccb3 100644 --- a/src/applications/files/controller/macrolist/PhabricatorFileMacroListController.php +++ b/src/applications/files/controller/macrolist/PhabricatorFileMacroListController.php @@ -1,7 +1,7 @@ loadHandles(); } + $files_map = mpull($files, null, 'getPHID'); $rows = array(); foreach ($macros as $macro) { - $src = PhabricatorFileURI::getViewURIForPHID($macro->getFilePHID()); $file_phid = $macro->getFilePHID(); + $file = $files_map[$file_phid]; $author_link = isset($author_phids[$file_phid]) ? $handles[$author_phids[$file_phid]]->renderLink() : null; @@ -73,13 +74,13 @@ class PhabricatorFileMacroListController extends PhabricatorFileController { phutil_render_tag( 'a', array( - 'href' => $src, + 'href' => $file->getBestURI(), 'target' => '_blank', ), phutil_render_tag( 'img', array( - 'src' => $src, + 'src' => $file->getBestURI(), ))), javelin_render_tag( 'a', diff --git a/src/applications/files/controller/macrolist/__init__.php b/src/applications/files/controller/macrolist/__init__.php index 5a673f8568..a14eac9d80 100644 --- a/src/applications/files/controller/macrolist/__init__.php +++ b/src/applications/files/controller/macrolist/__init__.php @@ -9,7 +9,6 @@ phutil_require_module('phabricator', 'applications/files/controller/base'); phutil_require_module('phabricator', 'applications/files/storage/file'); phutil_require_module('phabricator', 'applications/files/storage/imagemacro'); -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phabricator', 'applications/files/view/sidenav'); phutil_require_module('phabricator', 'applications/phid/handle/data'); phutil_require_module('phabricator', 'infrastructure/javelin/markup'); diff --git a/src/applications/files/controller/proxy/PhabricatorFileProxyController.php b/src/applications/files/controller/proxy/PhabricatorFileProxyController.php index 760b5c69e3..1b29b874ff 100644 --- a/src/applications/files/controller/proxy/PhabricatorFileProxyController.php +++ b/src/applications/files/controller/proxy/PhabricatorFileProxyController.php @@ -1,7 +1,7 @@ getFilePHID()); + $file = id(new PhabricatorFile())->loadOneWhere('phid = %s', + $proxy->getFilePHID()); + if ($file) { + $view_uri = $file->getBestURI(); + } else { + $bad_phid = $proxy->getFilePHID(); + throw new Exception( + "Unable to load file with phid {$bad_phid}." + ); + } return id(new AphrontRedirectResponse())->setURI($view_uri); } diff --git a/src/applications/files/controller/proxy/__init__.php b/src/applications/files/controller/proxy/__init__.php index be1d269685..578884117f 100644 --- a/src/applications/files/controller/proxy/__init__.php +++ b/src/applications/files/controller/proxy/__init__.php @@ -12,7 +12,6 @@ phutil_require_module('phabricator', 'aphront/writeguard'); phutil_require_module('phabricator', 'applications/files/controller/base'); phutil_require_module('phabricator', 'applications/files/storage/file'); phutil_require_module('phabricator', 'applications/files/storage/proxyimage'); -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phabricator', 'infrastructure/env'); phutil_require_module('phutil', 'utils'); diff --git a/src/applications/files/controller/transform/PhabricatorFileTransformController.php b/src/applications/files/controller/transform/PhabricatorFileTransformController.php index 2929374ba4..dca8e11598 100644 --- a/src/applications/files/controller/transform/PhabricatorFileTransformController.php +++ b/src/applications/files/controller/transform/PhabricatorFileTransformController.php @@ -1,7 +1,7 @@ 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( - PhabricatorFileURI::getViewURIForPHID($xform->getTransformedPHID())); + return id(new AphrontRedirectResponse())->setURI($uri); } private function executeThumbTransform(PhabricatorFile $file, $x, $y) { diff --git a/src/applications/files/controller/transform/__init__.php b/src/applications/files/controller/transform/__init__.php index fcf40a17a1..d313b9bf00 100644 --- a/src/applications/files/controller/transform/__init__.php +++ b/src/applications/files/controller/transform/__init__.php @@ -14,7 +14,6 @@ phutil_require_module('phabricator', 'applications/files/controller/base'); phutil_require_module('phabricator', 'applications/files/storage/file'); phutil_require_module('phabricator', 'applications/files/storage/transformed'); phutil_require_module('phabricator', 'applications/files/transform'); -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phutil', 'utils'); diff --git a/src/applications/files/controller/view/PhabricatorFileViewController.php b/src/applications/files/controller/view/PhabricatorFileViewController.php index 6201e67fd3..7af33eb9e3 100644 --- a/src/applications/files/controller/view/PhabricatorFileViewController.php +++ b/src/applications/files/controller/view/PhabricatorFileViewController.php @@ -1,7 +1,7 @@ loadAllWhere( 'originalPHID = %s', $file->getPHID()); + $transformed_phids = mpull($transformations, 'getTransformedPHID'); + $transformed_files = id(new PhabricatorFile())->loadAllWhere( + 'phid in (%Ls)', + $transformed_phids); + $transformed_map = mpull($transformed_files, null, 'getPHID'); $rows = array(); foreach ($transformations as $transformed) { $phid = $transformed->getTransformedPHID(); @@ -192,7 +197,7 @@ class PhabricatorFileViewController extends PhabricatorFileController { phutil_render_tag( 'a', array( - 'href' => PhabricatorFileURI::getViewURIForPHID($phid), + 'href' => $transformed_map[$phid]->getBestURI(), ), $phid)); } diff --git a/src/applications/files/controller/view/__init__.php b/src/applications/files/controller/view/__init__.php index 715df129d0..067d3a607a 100644 --- a/src/applications/files/controller/view/__init__.php +++ b/src/applications/files/controller/view/__init__.php @@ -13,7 +13,6 @@ phutil_require_module('phabricator', 'aphront/response/redirect'); phutil_require_module('phabricator', 'applications/files/controller/base'); phutil_require_module('phabricator', 'applications/files/storage/file'); phutil_require_module('phabricator', 'applications/files/storage/transformed'); -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phabricator', 'applications/people/storage/user'); phutil_require_module('phabricator', 'infrastructure/env'); phutil_require_module('phabricator', 'view/control/table'); diff --git a/src/applications/files/uri/PhabricatorFileURI.php b/src/applications/files/uri/PhabricatorFileURI.php deleted file mode 100644 index 8f813a82bf..0000000000 --- a/src/applications/files/uri/PhabricatorFileURI.php +++ /dev/null @@ -1,36 +0,0 @@ -loadOneWhere( - 'phid = %s', - $phid); - if ($file) { - return $file->getViewURI(); - } - - return null; - } - -} diff --git a/src/applications/files/uri/__init__.php b/src/applications/files/uri/__init__.php deleted file mode 100644 index bedf04f978..0000000000 --- a/src/applications/files/uri/__init__.php +++ /dev/null @@ -1,14 +0,0 @@ -getFilePHID()); + $raw_uri = $file->getBestURI(); $paste_panel->addButton( phutil_render_tag( 'a', diff --git a/src/applications/paste/controller/view/__init__.php b/src/applications/paste/controller/view/__init__.php index a148c94e13..892964bc8c 100644 --- a/src/applications/paste/controller/view/__init__.php +++ b/src/applications/paste/controller/view/__init__.php @@ -9,7 +9,6 @@ phutil_require_module('phabricator', 'aphront/response/400'); phutil_require_module('phabricator', 'aphront/response/404'); phutil_require_module('phabricator', 'applications/files/storage/file'); -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phabricator', 'applications/markup/syntax'); phutil_require_module('phabricator', 'applications/paste/controller/base'); phutil_require_module('phabricator', 'applications/paste/storage/paste'); diff --git a/src/applications/people/controller/profile/PhabricatorPeopleProfileController.php b/src/applications/people/controller/profile/PhabricatorPeopleProfileController.php index eb7a40fc91..b3abeb5e40 100644 --- a/src/applications/people/controller/profile/PhabricatorPeopleProfileController.php +++ b/src/applications/people/controller/profile/PhabricatorPeopleProfileController.php @@ -1,7 +1,7 @@ getProfileImagePHID(); - $picture = PhabricatorFileURI::getViewURIForPHID($src_phid); + $file = id(new PhabricatorFile())->loadOneWhere('phid = %s', $src_phid); + if ($file) { + $picture = $file->getBestURI(); + } else { + $picture = null; + } $header = new PhabricatorProfileHeaderView(); $header diff --git a/src/applications/people/controller/profile/__init__.php b/src/applications/people/controller/profile/__init__.php index 1793969090..110a677ab4 100644 --- a/src/applications/people/controller/profile/__init__.php +++ b/src/applications/people/controller/profile/__init__.php @@ -10,7 +10,7 @@ phutil_require_module('phabricator', 'aphront/response/404'); phutil_require_module('phabricator', 'applications/auth/oauth/provider/base'); phutil_require_module('phabricator', 'applications/feed/builder/feed'); phutil_require_module('phabricator', 'applications/feed/query'); -phutil_require_module('phabricator', 'applications/files/uri'); +phutil_require_module('phabricator', 'applications/files/storage/file'); phutil_require_module('phabricator', 'applications/markup/engine'); phutil_require_module('phabricator', 'applications/people/controller/base'); phutil_require_module('phabricator', 'applications/people/storage/profile'); diff --git a/src/applications/people/controller/settings/panels/profile/PhabricatorUserProfileSettingsPanelController.php b/src/applications/people/controller/settings/panels/profile/PhabricatorUserProfileSettingsPanelController.php index c427008351..0d0194d571 100644 --- a/src/applications/people/controller/settings/panels/profile/PhabricatorUserProfileSettingsPanelController.php +++ b/src/applications/people/controller/settings/panels/profile/PhabricatorUserProfileSettingsPanelController.php @@ -1,7 +1,7 @@ loadOneWhere( + 'phid = %s', $user->getProfileImagePHID()); + if ($file) { + $img_src = $file->getBestURI(); + } else { + $img_src = null; + } $profile_uri = PhabricatorEnv::getURI('/p/'.$user->getUsername().'/'); $form = new AphrontFormView(); diff --git a/src/applications/people/controller/settings/panels/profile/__init__.php b/src/applications/people/controller/settings/panels/profile/__init__.php index 2b1c76b08e..545d4a9813 100644 --- a/src/applications/people/controller/settings/panels/profile/__init__.php +++ b/src/applications/people/controller/settings/panels/profile/__init__.php @@ -9,7 +9,6 @@ phutil_require_module('phabricator', 'aphront/response/redirect'); phutil_require_module('phabricator', 'applications/files/storage/file'); phutil_require_module('phabricator', 'applications/files/transform'); -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phabricator', 'applications/people/controller/settings/panels/base'); phutil_require_module('phabricator', 'applications/people/storage/profile'); phutil_require_module('phabricator', 'infrastructure/env'); diff --git a/src/applications/phid/handle/data/PhabricatorObjectHandleData.php b/src/applications/phid/handle/data/PhabricatorObjectHandleData.php index 1b4b5f2159..031531fec9 100644 --- a/src/applications/phid/handle/data/PhabricatorObjectHandleData.php +++ b/src/applications/phid/handle/data/PhabricatorObjectHandleData.php @@ -140,7 +140,7 @@ class PhabricatorObjectHandleData { $images = id(new PhabricatorFile())->loadAllWhere( 'phid IN (%Ls)', $image_phids); - $images = mpull($images, 'getViewURI', 'getPHID'); + $images = mpull($images, 'getBestURI', 'getPHID'); } foreach ($phids as $phid) { diff --git a/src/applications/project/controller/profile/PhabricatorProjectProfileController.php b/src/applications/project/controller/profile/PhabricatorProjectProfileController.php index 52ecb766eb..d0408fd054 100644 --- a/src/applications/project/controller/profile/PhabricatorProjectProfileController.php +++ b/src/applications/project/controller/profile/PhabricatorProjectProfileController.php @@ -1,7 +1,7 @@ getProfileImagePHID(); } - $picture = PhabricatorFileURI::getViewURIForPHID($src_phid); + $file = id(new PhabricatorFile())->loadOneWhere('phid = %s', + $src_phid); + if ($file) { + $picture = $file->getBestURI(); + } else { + $picture = null; + } + + $nav_view = new AphrontSideNavFilterView(); $uri = new PhutilURI('/project/view/'.$project->getID().'/'); diff --git a/src/applications/project/controller/profile/__init__.php b/src/applications/project/controller/profile/__init__.php index e73f70338a..560c9119c2 100644 --- a/src/applications/project/controller/profile/__init__.php +++ b/src/applications/project/controller/profile/__init__.php @@ -9,7 +9,7 @@ phutil_require_module('phabricator', 'aphront/response/404'); phutil_require_module('phabricator', 'applications/feed/builder/feed'); phutil_require_module('phabricator', 'applications/feed/query'); -phutil_require_module('phabricator', 'applications/files/uri'); +phutil_require_module('phabricator', 'applications/files/storage/file'); phutil_require_module('phabricator', 'applications/maniphest/query'); phutil_require_module('phabricator', 'applications/maniphest/view/tasksummary'); phutil_require_module('phabricator', 'applications/phid/handle/data'); diff --git a/src/applications/search/view/searchresult/PhabricatorSearchResultView.php b/src/applications/search/view/searchresult/PhabricatorSearchResultView.php index da12267086..756fe46e38 100644 --- a/src/applications/search/view/searchresult/PhabricatorSearchResultView.php +++ b/src/applications/search/view/searchresult/PhabricatorSearchResultView.php @@ -1,7 +1,7 @@ getURI())); - switch ($handle->getType()) { - case PhabricatorPHIDConstants::PHID_TYPE_USER: - if ($this->object) { - $img_phid = $this->object->getProfileImagePHID(); - $img = PhabricatorFileURI::getViewURIForPHID($img_phid); - } - break; - default: - $img = null; - break; - } + $img = $handle->getImageURI(); if ($img) { $img = phutil_render_tag( diff --git a/src/applications/search/view/searchresult/__init__.php b/src/applications/search/view/searchresult/__init__.php index 7c2ece7d97..3a6340257d 100644 --- a/src/applications/search/view/searchresult/__init__.php +++ b/src/applications/search/view/searchresult/__init__.php @@ -6,7 +6,6 @@ -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phabricator', 'applications/phid/constants'); phutil_require_module('phabricator', 'infrastructure/celerity/api'); phutil_require_module('phabricator', 'infrastructure/env'); diff --git a/src/applications/slowvote/controller/poll/PhabricatorSlowvotePollController.php b/src/applications/slowvote/controller/poll/PhabricatorSlowvotePollController.php index 185add2871..067a52421b 100644 --- a/src/applications/slowvote/controller/poll/PhabricatorSlowvotePollController.php +++ b/src/applications/slowvote/controller/poll/PhabricatorSlowvotePollController.php @@ -1,7 +1,7 @@ getProfileImagePHID()); + $profile_image = $handle->getImageURI(); $user_markup[] = phutil_render_tag( 'a', diff --git a/src/applications/slowvote/controller/poll/__init__.php b/src/applications/slowvote/controller/poll/__init__.php index a463cd819b..33b8dd57dd 100644 --- a/src/applications/slowvote/controller/poll/__init__.php +++ b/src/applications/slowvote/controller/poll/__init__.php @@ -8,7 +8,6 @@ phutil_require_module('phabricator', 'aphront/response/404'); phutil_require_module('phabricator', 'aphront/response/redirect'); -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phabricator', 'applications/markup/engine'); phutil_require_module('phabricator', 'applications/phid/handle/data'); phutil_require_module('phabricator', 'applications/slowvote/controller/base'); diff --git a/src/infrastructure/markup/remarkup/markuprule/imagemacro/PhabricatorRemarkupRuleImageMacro.php b/src/infrastructure/markup/remarkup/markuprule/imagemacro/PhabricatorRemarkupRuleImageMacro.php index 97137c35bf..0df253ebd8 100644 --- a/src/infrastructure/markup/remarkup/markuprule/imagemacro/PhabricatorRemarkupRuleImageMacro.php +++ b/src/infrastructure/markup/remarkup/markuprule/imagemacro/PhabricatorRemarkupRuleImageMacro.php @@ -1,7 +1,7 @@ images[$matches[1]]; } + $file = id(new PhabricatorFile())->loadOneWhere('phid = %s', $phid); + if ($file) { + $src_uri = $file->getBestURI(); + } else { + $src_uri = null; + } $img = phutil_render_tag( 'img', array( - 'src' => PhabricatorFileURI::getViewURIForPHID($phid), + 'src' => $src_uri, 'alt' => $matches[1], 'title' => $matches[1]), null); diff --git a/src/infrastructure/markup/remarkup/markuprule/imagemacro/__init__.php b/src/infrastructure/markup/remarkup/markuprule/imagemacro/__init__.php index d742a178a2..5895c2c6fa 100644 --- a/src/infrastructure/markup/remarkup/markuprule/imagemacro/__init__.php +++ b/src/infrastructure/markup/remarkup/markuprule/imagemacro/__init__.php @@ -6,8 +6,8 @@ +phutil_require_module('phabricator', 'applications/files/storage/file'); phutil_require_module('phabricator', 'applications/files/storage/imagemacro'); -phutil_require_module('phabricator', 'applications/files/uri'); phutil_require_module('phutil', 'markup'); phutil_require_module('phutil', 'markup/engine/remarkup/markuprule/base');