]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Keep a unique set of WebFingerResource aliases
authorMikael Nordfeldth <mmn@hethane.se>
Sun, 21 Feb 2016 17:47:32 +0000 (18:47 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Sun, 21 Feb 2016 17:47:32 +0000 (18:47 +0100)
plugins/WebFinger/lib/webfingerresource.php

index 61b2cc09adbedcd81350ed2d82db256aa59fb151..90b818add18f711cffc1859b314729a76fdad7f2 100644 (file)
@@ -35,19 +35,20 @@ abstract class WebFingerResource
 
         // Add the URI as an identity, this is _not_ necessarily an HTTP url
         $uri = $this->object->getUri();
-        $aliases[] = $uri;
+        $aliases[$uri] = true;
         if (common_config('webfinger', 'http_alias')
                 && strtolower(parse_url($uri, PHP_URL_SCHEME)) === 'https') {
-            $aliases[] = preg_replace('/^https:/', 'http:', $uri, 1);
+            $aliases[preg_replace('/^https:/', 'http:', $uri, 1)] = true;
         }
 
         try {
-            $aliases[] = $this->object->getUrl();
+            $aliases[$this->object->getUrl()] = true;
         } catch (InvalidUrlException $e) {
             // 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);