use Friendica\Util\HTTPSignature;
/**
- * @brief ActivityPub Protocol class
+ * ActivityPub Protocol class
+ *
* The ActivityPub Protocol is a message exchange protocol defined by the W3C.
* https://www.w3.org/TR/activitypub/
* https://www.w3.org/TR/activitystreams-core/
*/
public static function isRequest()
{
- return stristr(defaults($_SERVER, 'HTTP_ACCEPT', ''), 'application/activity+json') ||
- stristr(defaults($_SERVER, 'HTTP_ACCEPT', ''), 'application/ld+json');
+ return stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/activity+json') ||
+ stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/ld+json');
}
/**
$profile['url'] = $apcontact['url'];
$profile['addr'] = $apcontact['addr'];
$profile['alias'] = $apcontact['alias'];
+ $profile['following'] = $apcontact['following'];
+ $profile['followers'] = $apcontact['followers'];
+ $profile['inbox'] = $apcontact['inbox'];
+ $profile['outbox'] = $apcontact['outbox'];
+ $profile['sharedinbox'] = $apcontact['sharedinbox'];
$profile['photo'] = $apcontact['photo'];
$profile['account-type'] = self::getAccountType($apcontact);
$profile['community'] = ($profile['account-type'] == User::ACCOUNT_TYPE_COMMUNITY);
ActivityPub\Receiver::processActivity($ldactivity, '', $uid, true);
}
}
+
+ /**
+ * Checks if the given contact url does support ActivityPub
+ *
+ * @param string $url profile url
+ * @param boolean $update true = always update, false = never update, null = update when not found or outdated
+ * @return boolean
+ * @throws \Friendica\Network\HTTPException\InternalServerErrorException
+ * @throws \ImagickException
+ */
+ public static function isSupportedByContactUrl($url, $update = null)
+ {
+ return !empty(APContact::getByURL($url, $update));
+ }
}