$nodeinfo2_url = '';
foreach ($nodeinfo['links'] as $link) {
+ if (!is_array($link) || empty($link['rel'])) {
+ logger('Invalid nodeinfo format for ' . $server_url, LOGGER_DEBUG);
+ continue;
+ }
if ($link['rel'] == 'http://nodeinfo.diaspora.software/ns/schema/1.0') {
$nodeinfo1_url = $link['href'];
} elseif ($link['rel'] == 'http://nodeinfo.diaspora.software/ns/schema/2.0') {
}
foreach ($serverlist as $server) {
- $server_url = str_replace("/index.php", "", $server['url'];
+ $server_url = str_replace("/index.php", "", $server['url']);
$r = q("SELECT `nurl` FROM `gserver` WHERE `nurl` = '%s'", DBA::escape(normalise_link($server_url)));
$retdata = Network::curl($url);
- if ($retdata["success"]) {
+ if ($retdata["success"] && !empty($retdata["body"])) {
$data = json_decode($retdata["body"], true);
self::discoverServer($data, 2);
$retdata = Network::curl($url);
- if ($retdata["success"]) {
+ if ($retdata["success"] && !empty($retdata["body"])) {
logger("Fetch all global contacts from the server " . $server["nurl"], LOGGER_DEBUG);
$success = self::discoverServer(json_decode($retdata["body"], true));
}