forked from GNUsocial/gnu-social
Keep a unique set of WebFingerResource aliases
This commit is contained in:
parent
afbdcf8938
commit
b23cc7465f
@ -35,19 +35,20 @@ abstract class WebFingerResource
|
|||||||
|
|
||||||
// Add the URI as an identity, this is _not_ necessarily an HTTP url
|
// Add the URI as an identity, this is _not_ necessarily an HTTP url
|
||||||
$uri = $this->object->getUri();
|
$uri = $this->object->getUri();
|
||||||
$aliases[] = $uri;
|
$aliases[$uri] = true;
|
||||||
if (common_config('webfinger', 'http_alias')
|
if (common_config('webfinger', 'http_alias')
|
||||||
&& strtolower(parse_url($uri, PHP_URL_SCHEME)) === 'https') {
|
&& strtolower(parse_url($uri, PHP_URL_SCHEME)) === 'https') {
|
||||||
$aliases[] = preg_replace('/^https:/', 'http:', $uri, 1);
|
$aliases[preg_replace('/^https:/', 'http:', $uri, 1)] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$aliases[] = $this->object->getUrl();
|
$aliases[$this->object->getUrl()] = true;
|
||||||
} catch (InvalidUrlException $e) {
|
} catch (InvalidUrlException $e) {
|
||||||
// getUrl failed because no valid URL could be returned, just ignore it
|
// getUrl failed because no valid URL could be returned, just ignore it
|
||||||
}
|
}
|
||||||
|
|
||||||
return $aliases;
|
// return a unique set of aliases by extracting only the keys
|
||||||
|
return array_keys($aliases);
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract public function updateXRD(XML_XRD $xrd);
|
abstract public function updateXRD(XML_XRD $xrd);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user