]> git.mxchange.org Git - friendica.git/commitdiff
Replace parse_url with UriInterface instantiation in Model\APContact
authorHypolite Petovan <hypolite@mrpetovan.com>
Thu, 8 Dec 2022 03:08:48 +0000 (22:08 -0500)
committerHypolite Petovan <hypolite@mrpetovan.com>
Sat, 10 Dec 2022 16:38:02 +0000 (11:38 -0500)
- Address part of https://github.com/friendica/friendica/issues/12011#issuecomment-1338133783

src/Model/APContact.php

index 67ce2b66bf73d9c689ef5f778404edc42c1fb358..fd748f1cd4e92419b77513f5cad205a3cec60fcb 100644 (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'] = '';
                        }
                }