Replace parse_url with UriInterface instantiation in Model\APContact

- Address part of https://github.com/friendica/friendica/issues/12011#issuecomment-1338133783
This commit is contained in:
Hypolite Petovan 2022-12-07 22:08:48 -05:00
parent b29e520a25
commit e7574356d8
1 changed files with 4 additions and 7 deletions

View File

@ -291,14 +291,11 @@ class APContact
return $fetched_contact;
}
$parts = parse_url($apcontact['url']);
unset($parts['scheme']);
unset($parts['path']);
if (empty($apcontact['addr'])) {
if (!empty($apcontact['nick']) && is_array($parts)) {
$apcontact['addr'] = $apcontact['nick'] . '@' . str_replace('//', '', Network::unparseURL($parts));
} else {
try {
$apcontact['addr'] = $apcontact['nick'] . '@' . (new Uri($apcontact['url']))->getAuthority();
} catch (\Throwable $e) {
Logger::warning('Unable to coerce APContact URL into a UriInterface object', ['url' => $apcontact['url'], 'error' => $e->getMessage()]);
$apcontact['addr'] = '';
}
}