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' ;
}
if (($vcard["nick"] == "") AND ($data["header"]["author-nick"] != ""))
$vcard["nick"] = $data["header"]["author-nick"];
- if (($network == NETWORK_OSTATUS) AND ($data["header"]["author-id"] != ""))
- $alias = $data["header"]["author-id"];
+ if ($network == NETWORK_OSTATUS) {
+ if ($data["header"]["author-id"] != "")
+ $alias = $data["header"]["author-id"];
- if(!$profile AND ($data["header"]["author-link"] != "") AND !in_array($network, array("", NETWORK_FEED)))
+ if ($data["header"]["author-link"] != "")
+ $profile = $data["header"]["author-link"];
+
+ } elseif(!$profile AND ($data["header"]["author-link"] != "") AND !in_array($network, array("", NETWORK_FEED)))
$profile = $data["header"]["author-link"];
}
}
if (substr($baseurl, -10) == "/index.php")
$baseurl = str_replace("/index.php", "", $baseurl);
+ if ($network == "")
+ $network = NETWORK_PHANTOM;
+
$baseurl = rtrim($baseurl, "/");
if(strpos($url,'@') AND ($addr == "") AND ($network == NETWORK_DFRN))
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