Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F15382253
D20510.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Referenced Files
None
Subscribers
None
D20510.diff
View Options
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
@@ -3040,6 +3040,7 @@
'PhabricatorDatasourceEditType' => 'applications/transactions/edittype/PhabricatorDatasourceEditType.php',
'PhabricatorDatasourceEngine' => 'applications/search/engine/PhabricatorDatasourceEngine.php',
'PhabricatorDatasourceEngineExtension' => 'applications/search/engineextension/PhabricatorDatasourceEngineExtension.php',
+ 'PhabricatorDatasourceURIEngineExtension' => 'applications/meta/engineextension/PhabricatorDatasourceURIEngineExtension.php',
'PhabricatorDateFormatSetting' => 'applications/settings/setting/PhabricatorDateFormatSetting.php',
'PhabricatorDateTimeSettingsPanel' => 'applications/settings/panel/PhabricatorDateTimeSettingsPanel.php',
'PhabricatorDebugController' => 'applications/system/controller/PhabricatorDebugController.php',
@@ -9082,6 +9083,7 @@
'PhabricatorDatasourceEditType' => 'PhabricatorPHIDListEditType',
'PhabricatorDatasourceEngine' => 'Phobject',
'PhabricatorDatasourceEngineExtension' => 'Phobject',
+ 'PhabricatorDatasourceURIEngineExtension' => 'PhabricatorDatasourceEngineExtension',
'PhabricatorDateFormatSetting' => 'PhabricatorSelectSetting',
'PhabricatorDateTimeSettingsPanel' => 'PhabricatorEditEngineSettingsPanel',
'PhabricatorDebugController' => 'PhabricatorController',
diff --git a/src/applications/meta/engineextension/PhabricatorDatasourceURIEngineExtension.php b/src/applications/meta/engineextension/PhabricatorDatasourceURIEngineExtension.php
new file mode 100644
--- /dev/null
+++ b/src/applications/meta/engineextension/PhabricatorDatasourceURIEngineExtension.php
@@ -0,0 +1,34 @@
+<?php
+
+final class PhabricatorDatasourceURIEngineExtension
+ extends PhabricatorDatasourceEngineExtension {
+
+ public function newQuickSearchDatasources() {
+ return array();
+ }
+
+ public function newJumpURI($query) {
+ // If you search for a URI on the local install, just redirect to that
+ // URI as though you had pasted it into the URI bar.
+ if (PhabricatorEnv::isSelfURI($query)) {
+ // Strip off the absolute part of the URI. If we don't, the URI redirect
+ // validator will get upset that we're performing an unmarked external
+ // redirect.
+
+ // The correct host and protocol may also differ from the host and
+ // protocol used in the search: for example, if you search for "http://"
+ // we want to redirect to "https://" if an install is HTTPS, and
+ // the "isSelfURI()" check includes alternate domains in addition to the
+ // canonical domain.
+
+ $uri = id(new PhutilURI($query))
+ ->setDomain(null)
+ ->setProtocol(null)
+ ->setPort(null);
+
+ return phutil_string_cast($uri);
+ }
+
+ return null;
+ }
+}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Mar 15, 11:31 AM (1 w, 12 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7636000
Default Alt Text
D20510.diff (2 KB)
Attached To
Mode
D20510: When a user pastes a Phabricator URI into the search box, redirect to the URI
Attached
Detach File
Event Timeline
Log In to Comment