+ // TODO - finalize where the redirect should go on the publisher
+ $xrd->links[] = new XML_XRD_Element_Link('http://ostatus.org/schema/1.0/subscribe',
+ common_local_url('ostatussub') . '?profile={uri}',
+ null, // type not set
+ true); // isTemplate
+
+ return true;
+ }
+
+ protected function profileTypeString(Profile $target)
+ {
+ // This is just used to have a definitive string response to "USERsalmon" or "GROUPsalmon"
+ switch ($target->getObjectType()) {
+ case ActivityObject::PERSON:
+ return 'user';
+ case ActivityObject::GROUP:
+ return 'group';
+ default:
+ throw new ServerException('Unknown profile type for WebFinger profile links');
+ }
+ }
+
+ protected function addWebFingerPersonLinks(XML_XRD $xrd, Profile $target)
+ {
+ $xrd->links[] = new XML_XRD_Element_Link(Discovery::UPDATESFROM,
+ common_local_url('ApiTimelineUser',
+ array('id' => $target->id, 'format' => 'atom')),
+ 'application/atom+xml');
+