Page MenuHomePhorge

PhabricatorDatasourceURIEngineExtension.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

PhabricatorDatasourceURIEngineExtension.php

<?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.
// Skip things that are really not full URLs, like "asdasd".
// Note that the backend of "isSelfURI" is faster with a PhutilURI.
$uri = new PhutilURI($query);
if ($uri->getDomain() === '' || !PhabricatorEnv::isSelfURI($uri)) {
return null;
}
// 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 = $uri
->setDomain(null)
->setProtocol(null)
->setPort(null);
$uri = phutil_string_cast($uri);
// See T13412. If the URI was in the form "http://dev.example.com" with
// no trailing slash, there may be no path. Redirecting to the empty
// string is considered an error by safety checks during redirection,
// so treat this like the user entered the URI with a trailing slash.
if (!strlen($uri)) {
$uri = '/';
}
return $uri;
}
}

File Metadata

Mime Type
text/x-php
Expires
Sun, May 4, 5:50 AM (2 d)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
64053
Default Alt Text
PhabricatorDatasourceURIEngineExtension.php (1 KB)

Event Timeline