* @param string $uri Address that should be probed
* @param string $network Test for this specific network
* @param integer $uid User ID for the probe (only used for mails)
- * @param boolean $cache Use cached values?
*
* @return array uri data
* @throws HTTPException\InternalServerErrorException
}
}
- if (!empty($data['baseurl']) && empty($data['gsid'])) {
- $data['gsid'] = GServer::getID($data['baseurl']);
- }
-
if (empty($data['network'])) {
$data['network'] = Protocol::PHANTOM;
}
+ $baseurl = parse_url($data['url'], PHP_URL_SCHEME) . '://' . parse_url($data['url'], PHP_URL_HOST);
+ if (empty($data['baseurl']) && ($data['network'] == Protocol::ACTIVITYPUB) && (rtrim($data['url'], '/') == $baseurl)) {
+ $data['baseurl'] = $baseurl;
+ }
+
+ if (!empty($data['baseurl']) && empty($data['gsid'])) {
+ $data['gsid'] = GServer::getID($data['baseurl']);
+ }
+
// Ensure that local connections always are DFRN
if (($network == '') && ($data['network'] != Protocol::PHANTOM) && (self::ownHost($data['baseurl'] ?? '') || self::ownHost($data['url']))) {
$data['network'] = Protocol::DFRN;
$data = self::pollHcard($profile_link, $data, true);
}
- $prof_data = [];
if (empty($data['addr']) || empty($data['nick'])) {
$probe_data = self::uri($profile_link);
$data['nick'] = ($data['nick'] ?? '') ?: $probe_data['nick'];
}
- $prof_data['addr'] = $data['addr'];
- $prof_data['nick'] = $data['nick'];
- $prof_data['dfrn-request'] = $data['request'] ?? null;
- $prof_data['dfrn-confirm'] = $data['confirm'] ?? null;
- $prof_data['dfrn-notify'] = $data['notify'] ?? null;
- $prof_data['dfrn-poll'] = $data['poll'] ?? null;
- $prof_data['photo'] = $data['photo'] ?? null;
- $prof_data['fn'] = $data['name'] ?? null;
- $prof_data['key'] = $data['pubkey'] ?? null;
+ $prof_data = [
+ 'addr' => $data['addr'],
+ 'nick' => $data['nick'],
+ 'dfrn-request' => $data['request'] ?? null,
+ 'dfrn-confirm' => $data['confirm'] ?? null,
+ 'dfrn-notify' => $data['notify'] ?? null,
+ 'dfrn-poll' => $data['poll'] ?? null,
+ 'photo' => $data['photo'] ?? null,
+ 'fn' => $data['name'] ?? null,
+ 'key' => $data['pubkey'] ?? null,
+ ];
Logger::debug('Result', ['link' => $profile_link, 'data' => $prof_data]);