]> git.mxchange.org Git - friendica.git/blobdiff - src/Protocol/PortableContact.php
Merge remote-tracking branch 'upstream/develop' into develop
[friendica.git] / src / Protocol / PortableContact.php
index 59b3ad4325d7b10c6e8f94c81d5a9de53b7de88e..84bfd4c4f180978940814c4589f000e47def6dd6 100644 (file)
@@ -14,6 +14,7 @@ use Friendica\Core\Worker;
 use Friendica\Database\DBM;
 use Friendica\Model\GlobalContact;
 use Friendica\Network\Probe;
+use Friendica\Object\Photo;
 use Friendica\Object\Profile;
 use dba;
 use DOMDocument;
@@ -23,7 +24,6 @@ use Exception;
 require_once 'include/datetime.php';
 require_once 'include/network.php';
 require_once 'include/html2bbcode.php';
-require_once 'include/Photo.php';
 
 class PortableContact
 {
@@ -1343,14 +1343,17 @@ class PortableContact
 
                // Disvover Mastodon servers
                if (!Config::get('system', 'ostatus_disabled')) {
-                       $serverdata = fetch_url("https://instances.mastodon.xyz/instances.json");
-
-                       if ($serverdata) {
-                               $servers = json_decode($serverdata);
-
-                               foreach ($servers as $server) {
-                                       $url = (is_null($server->https_score) ? 'http' : 'https').'://'.$server->name;
-                                       Worker::add(PRIORITY_LOW, "DiscoverPoCo", "server", $url);
+                       $accesstoken = Config::get('system', 'instances_social_key');
+                       if (!empty($accesstoken)) {
+                               $api = 'https://instances.social/api/1.0/instances/list?count=0';
+                               $header = array('Authorization: Bearer '.$accesstoken);
+                               $serverdata = z_fetch_url($api, false, $redirects, ['headers' => $header]);
+                               if ($serverdata['success']) {
+                                       $servers = json_decode($serverdata['body']);
+                                       foreach ($servers->instances as $server) {
+                                               $url = (is_null($server->https_score) ? 'http' : 'https').'://'.$server->name;
+                                               Worker::add(PRIORITY_LOW, "DiscoverPoCo", "server", $url);
+                                       }
                                }
                        }
                }