use Friendica\Util\Network;
use Friendica\Core\Protocol;
use Friendica\Model\APContact;
+use Friendica\Model\User;
use Friendica\Util\HTTPSignature;
/**
return HTTPSignature::fetch($url, $uid);
}
- $curlResult = Network::curl($url, false, $redirects, ['accept_content' => 'application/activity+json, application/ld+json']);
+ $curlResult = Network::curl($url, false, ['accept_content' => 'application/activity+json, application/ld+json']);
if (!$curlResult->isSuccess() || empty($curlResult->getBody())) {
return false;
}
return $content;
}
+ private static function getAccountType($apcontact)
+ {
+ $accounttype = -1;
+
+ switch($apcontact['type']) {
+ case 'Person':
+ $accounttype = User::ACCOUNT_TYPE_PERSON;
+ break;
+ case 'Organization':
+ $accounttype = User::ACCOUNT_TYPE_ORGANISATION;
+ break;
+ case 'Service':
+ $accounttype = User::ACCOUNT_TYPE_NEWS;
+ break;
+ case 'Group':
+ $accounttype = User::ACCOUNT_TYPE_COMMUNITY;
+ break;
+ case 'Application':
+ $accounttype = User::ACCOUNT_TYPE_RELAY;
+ break;
+ }
+
+ return $accounttype;
+ }
+
/**
* Fetches a profile from the given url into an array that is compatible to Probe::uri
*
$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['community']
+ $profile['account-type'] = self::getAccountType($apcontact);
+ $profile['community'] = ($profile['account-type'] == User::ACCOUNT_TYPE_COMMUNITY);
// $profile['keywords']
// $profile['location']
$profile['about'] = $apcontact['about'];