getPath(); $matches = null; if (preg_match('#^/D(\d+)$#', $path, $matches)) { $id = (int)$matches[1]; $prod_uri = new PhutilURI(PhabricatorEnv::getProductionURI('/D'.$id)); // Make sure the URI is the same as our URI. Basically, we want to ignore // commits from other Phabricator installs. if ($uri->getDomain() == $prod_uri->getDomain()) { return $id; } $allowed_uris = PhabricatorEnv::getAllowedURIs('/D'.$id); foreach ($allowed_uris as $allowed_uri) { if ($uri_string == $allowed_uri) { return $id; } } } return null; } public function readFieldValueFromObject(DifferentialRevision $revision) { return $revision->getID(); } public function readFieldValueFromConduit($value) { if (is_int($value)) { $value = (string)$value; } return $this->readStringFieldValueFromConduit($value); } public function renderFieldValue($value) { if (!strlen($value)) { return null; } return PhabricatorEnv::getProductionURI('/D'.$value); } }