forked from GNUsocial/gnu-social
		
	This is more of a proof of concept and will likely not stay in exactly this form. We should reasonably deliver the entire notice upon webfinger querying.
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * WebFinger resource parent class
 | |
|  *
 | |
|  * @package   GNUsocial
 | |
|  * @author    Mikael Nordfeldth
 | |
|  * @copyright 2013 Free Software Foundation, Inc.
 | |
|  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
 | |
|  * @link      http://status.net/
 | |
|  */
 | |
| 
 | |
| abstract class WebFingerResource
 | |
| {
 | |
|     protected $identities = array();
 | |
| 
 | |
|     protected $object = null;
 | |
|     protected $type   = null;
 | |
| 
 | |
|     public function __construct(Managed_DataObject $object)
 | |
|     {
 | |
|         $this->object = $object;
 | |
|     }
 | |
| 
 | |
|     public function getObject()
 | |
|     {
 | |
|         if ($this->object === null) {
 | |
|             throw new ServerException('Object is not set');
 | |
|         }
 | |
|         return $this->object;
 | |
|     }
 | |
| 
 | |
|     public function getAliases()
 | |
|     {
 | |
|         $aliases = array();
 | |
| 
 | |
|         // Add the URI as an identity, this is _not_ necessarily an HTTP url
 | |
|         $aliases[] = $this->object->getUri();
 | |
| 
 | |
|         try {
 | |
|             $aliases[] = $this->object->getUrl();
 | |
|         } catch (InvalidUrlException $e) {
 | |
|             // getUrl failed because no valid URL could be returned, just ignore it
 | |
|         }
 | |
| 
 | |
|         return $aliases;
 | |
|     }
 | |
| 
 | |
|     abstract public function updateXRD(XML_XRD $xrd);
 | |
| }
 |