X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FProtocol%2FPortableContact.php;h=4b8b6fff63f1446bb12cd818e9c53b07dddbc4bd;hb=604262a70e4d56e91db3a43049f2c0196cf9fdee;hp=38b8b2ac035ca8d77cd83786f517a2996ccc64c0;hpb=d76003797a47b38a729d3f5df83d16545dd941ab;p=friendica.git diff --git a/src/Protocol/PortableContact.php b/src/Protocol/PortableContact.php index 38b8b2ac03..4b8b6fff63 100644 --- a/src/Protocol/PortableContact.php +++ b/src/Protocol/PortableContact.php @@ -26,8 +26,6 @@ use Friendica\Util\Network; use Friendica\Util\Strings; use Friendica\Util\XML; -require_once 'include/dba.php'; - class PortableContact { /** @@ -46,7 +44,7 @@ class PortableContact * Once the global contact is stored add (if necessary) the contact linkage which associates * the given uid, cid to the global contact entry. There can be many uid/cid combinations * pointing to the same global contact id. - * + * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ public static function loadWorker($cid, $uid = 0, $zcid = 0, $url = null) { @@ -61,12 +59,10 @@ class PortableContact * @param integer $uid User ID * @param integer $zcid Global Contact ID * @param integer $url POCO address that should be polled - * + * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ public static function load($cid, $uid, $zcid, $url) { - $a = get_app(); - if ($cid) { if (!$url || !$uid) { $contact = DBA::selectFirst('contact', ['poco', 'uid'], ['id' => $cid]); @@ -232,7 +228,6 @@ class PortableContact $friendica = preg_replace("=(https?://)(.*)/profile/(.*)=ism", "$1$2", $profile); if ($friendica != $profile) { $server_url = $friendica; - $network = Protocol::DFRN; } } @@ -240,7 +235,6 @@ class PortableContact $diaspora = preg_replace("=(https?://)(.*)/u/(.*)=ism", "$1$2", $profile); if ($diaspora != $profile) { $server_url = $diaspora; - $network = Protocol::DIASPORA; } } @@ -248,7 +242,6 @@ class PortableContact $red = preg_replace("=(https?://)(.*)/channel/(.*)=ism", "$1$2", $profile); if ($red != $profile) { $server_url = $red; - $network = Protocol::DIASPORA; } } @@ -257,7 +250,6 @@ class PortableContact $mastodon = preg_replace("=(https?://)(.*)/users/(.*)=ism", "$1$2", $profile); if ($mastodon != $profile) { $server_url = $mastodon; - $network = Protocol::OSTATUS; } } @@ -266,7 +258,6 @@ class PortableContact $ostatus = preg_replace("=(https?://)(.*)/user/(.*)=ism", "$1$2", $profile); if ($ostatus != $profile) { $server_url = $ostatus; - $network = Protocol::OSTATUS; } } @@ -275,7 +266,6 @@ class PortableContact $base = preg_replace("=(https?://)(.*?)/(.*)=ism", "$1$2", $profile); if ($base != $profile) { $server_url = $base; - $network = Protocol::PHANTOM; } } @@ -336,7 +326,7 @@ class PortableContact $server_url = Strings::normaliseLink(self::detectServer($profile)); } - if (!in_array($gcontacts[0]["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::FEED, Protocol::OSTATUS, ""])) { + if (!in_array($gcontacts[0]["network"], [Protocol::DFRN, Protocol::DIASPORA, Protocol::FEED, Protocol::OSTATUS, ""])) { Logger::log("Profile ".$profile.": Network type ".$gcontacts[0]["network"]." can't be checked", Logger::DEBUG); return false; } @@ -611,8 +601,6 @@ class PortableContact */ private static function detectPocoData(array $data) { - $server = false; - if (!isset($data['entry'])) { return false; } @@ -645,6 +633,7 @@ class PortableContact * * @param string $server_url address of the server * @return array Server data + * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ private static function fetchNodeinfo($server_url) { @@ -698,6 +687,7 @@ class PortableContact * * @param string $nodeinfo_url address of the nodeinfo path * @return array Server data + * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ private static function parseNodeinfo1($nodeinfo_url) { @@ -734,7 +724,7 @@ class PortableContact } } - if (!empty($nodeinfo['metadata']) && isset($nodeinfo['metadata']['nodeName'])) { + if (isset($nodeinfo['metadata']['nodeName'])) { $server['site_name'] = $nodeinfo['metadata']['nodeName']; } @@ -782,6 +772,7 @@ class PortableContact * * @param string $nodeinfo_url address of the nodeinfo path * @return array Server data + * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ private static function parseNodeinfo2($nodeinfo_url) { @@ -817,7 +808,7 @@ class PortableContact } } - if (!empty($nodeinfo['metadata']) && isset($nodeinfo['metadata']['nodeName'])) { + if (isset($nodeinfo['metadata']['nodeName'])) { $server['site_name'] = $nodeinfo['metadata']['nodeName']; } @@ -1375,15 +1366,15 @@ class PortableContact $site_name = $data['site_name']; } - $info = $data['info']; + $info = defaults($data, 'info', ''); $register_policy = defaults($data, 'register_policy', REGISTER_CLOSED); if (in_array($register_policy, ['REGISTER_CLOSED', 'REGISTER_APPROVE', 'REGISTER_OPEN'])) { - $register_policy = constant($data['register_policy']); + $register_policy = constant($register_policy); } else { Logger::log("Register policy '$register_policy' from $server_url is invalid."); $register_policy = REGISTER_CLOSED; // set a default value } - $platform = $data['platform']; + $platform = defaults($data, 'platform', ''); } } } @@ -1446,6 +1437,7 @@ class PortableContact * @brief Fetch relay data from a given server url * * @param string $server_url address of the server + * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ private static function discoverRelay($server_url) { @@ -1520,6 +1512,7 @@ class PortableContact /** * @brief Returns a list of all known servers * @return array List of server urls + * @throws Exception */ public static function serverlist() { @@ -1544,6 +1537,7 @@ class PortableContact * @brief Fetch server list from remote servers and adds them when they are new. * * @param string $poco URL to the POCO endpoint + * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ private static function fetchServerlist($poco) { @@ -1778,7 +1772,7 @@ class PortableContact $curlResult = Network::curl($url); if ($curlResult->isSuccess()) { - $data = json_decode($curlResult["body"], true); + $data = json_decode($curlResult->getBody(), true); if (!empty($data)) { self::discoverServer($data, 3);