if($diaspora && $diaspora_base && $diaspora_guid) {
$diaspora_notify = $diaspora_base.'receive/users/'.$diaspora_guid;
- if($mode == PROBE_DIASPORA || ! $notify || ($notify == $diaspora_notify)) {
+ if($mode == PROBE_DIASPORA || !$notify || ($notify == $diaspora_notify)) {
$notify = $diaspora_notify;
$batch = $diaspora_base . 'receive/public' ;
}
require_once('include/bbcode.php');
$address = GetProfileUsername($url, "", true);
$result2 = probe_url($address, $mode, ++$level);
- if ($result2['network'] != "")
+ if (!in_array($result2['network'], array("", NETWORK_PHANTOM, NETWORK_FEED)))
$result = $result2;
}
if (($result['network'] == NETWORK_FEED) AND ($result['baseurl'] != "") AND ($result['nick'] != "")) {
$addr = $result['nick'].'@'.str_replace("http://", "", $result['baseurl']);
$result2 = probe_url($addr, $mode, ++$level);
- if (($result2['network'] != "") AND ($result2['network'] != NETWORK_FEED))
+ if (!in_array($result2['network'], array("", NETWORK_PHANTOM, NETWORK_FEED)))
$result = $result2;
}
+
+ // Quickfix for Hubzilla systems with enabled OStatus plugin
+ if (($result['network'] == NETWORK_DIASPORA) AND ($result["batch"] == "")) {
+ $result2 = probe_url($url, PROBE_DIASPORA, ++$level);
+ if ($result2['network'] == NETWORK_DIASPORA) {
+ $addr = $result["addr"];
+ $result = $result2;
+
+ if (($result["addr"] == "") AND ($addr != ""))
+ $result["addr"] = $addr;
+ }
+ }
}
// Only store into the cache if the value seems to be valid