forked from GNUsocial/gnu-social
		
	[LRDD] Add a new method for grabing profile aliases
This commit is contained in:
		| @@ -65,4 +65,27 @@ class LRDDPlugin extends Plugin | |||||||
|  |  | ||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Fetch all the aliases of some remote profile | ||||||
|  |      * | ||||||
|  |      * @param string $uri profile's URI | ||||||
|  |      * @return array|null aliases | ||||||
|  |      * @throws Exception (If the Discovery's HTTP requests fail) | ||||||
|  |      * @author Bruno Casteleiro <brunoccast@fc.up.pt> | ||||||
|  |      */ | ||||||
|  |     public static function grab_profile_aliases(string $uri): ?array | ||||||
|  |     { | ||||||
|  |         $disco = new Discovery(); | ||||||
|  |         $xrd = $disco->lookup($uri); | ||||||
|  |  | ||||||
|  |         $all_ids = array_merge([$xrd->subject], $xrd->aliases); | ||||||
|  |  | ||||||
|  |         if (!in_array($uri, $all_ids)) { | ||||||
|  |             $this->log(LOG_INFO, 'The original URI was not listed itself when doing discovery on it!'); | ||||||
|  |             return null; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return $all_ids; | ||||||
|  |     } | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user