diff --git a/src/applications/phurl/controller/PhabricatorPhurlURLViewController.php b/src/applications/phurl/controller/PhabricatorPhurlURLViewController.php index 1c9a66f237..4e79670143 100644 --- a/src/applications/phurl/controller/PhabricatorPhurlURLViewController.php +++ b/src/applications/phurl/controller/PhabricatorPhurlURLViewController.php @@ -86,7 +86,7 @@ final class PhabricatorPhurlURLViewController ->setTag('a') ->setText(pht('Visit URL')) ->setIcon('fa-external-link') - ->setHref("u/{$id}") + ->setHref($url->getRedirectURI()) ->setDisabled(!$url->isValid()); $header = id(new PHUIHeaderView()) @@ -129,6 +129,10 @@ final class PhabricatorPhurlURLViewController $properties = id(new PHUIPropertyListView()) ->setUser($viewer); + $properties->addProperty( + pht('Short URL'), + $url->getRedirectURI()); + $properties->addProperty( pht('Original URL'), $url->getLongURL()); diff --git a/src/applications/phurl/storage/PhabricatorPhurlURL.php b/src/applications/phurl/storage/PhabricatorPhurlURL.php index 19d5968b0c..db82e20baf 100644 --- a/src/applications/phurl/storage/PhabricatorPhurlURL.php +++ b/src/applications/phurl/storage/PhabricatorPhurlURL.php @@ -99,10 +99,18 @@ final class PhabricatorPhurlURL extends PhabricatorPhurlDAO public function getRedirectURI() { if (strlen($this->getAlias())) { - return '/u/'.$this->getAlias(); + $path = '/u/'.$this->getAlias(); } else { - return '/u/'.$this->getID(); + $path = '/u/'.$this->getID(); } + $short_domain = PhabricatorEnv::getEnvConfig('phurl.short-uri'); + if (!$short_domain) { + return $path; + } + + $uri = new PhutilURI($short_domain); + $uri->setPath($path); + return (string)$uri; } /* -( PhabricatorPolicyInterface )----------------------------------------- */