if (is_array($noscrapedata)) {
if ($noscrapedata["nick"] != "")
return($noscrapedata);
+ else
+ unset($noscrapedata["nick"]);
} else
$noscrapedata = array();
}
$s = fetch_url($url);
- if(! $s)
+ if (!$s)
return $ret;
if (!$dont_probe) {
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(!$profile AND ($data["header"]["author-link"] != "") AND !in_array($network, array("", NETWORK_FEED)))
+ if ($network == NETWORK_OSTATUS) {
+ if ($data["header"]["author-id"] != "")
+ $alias = $data["header"]["author-id"];
+
+ 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
/// @todo temporary fix - we need a real contact update function that updates only changing fields
/// The biggest problem is the avatar picture that could have a reduced image size.
/// It should only be updated if the existing picture isn't existing anymore.
- if (($result['network'] != NETWORK_FEED) AND $result["addr"] AND $result["name"] AND $result["nick"])
- q("UPDATE `contact` SET `addr` = '%s', `alias` = '%s', `name` = '%s', `nick` = '%s',
- `name-date` = '%s', `uri-date` = '%s' WHERE `nurl` = '%s' AND NOT `self` AND `uid` = 0",
- dbesc($result["addr"]),
- dbesc($result["alias"]),
+ if (($result['network'] != NETWORK_FEED) AND ($mode == PROBE_NORMAL) AND
+ $result["name"] AND $result["nick"] AND $result["url"] AND $result["addr"] AND $result["poll"])
+ q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `url` = '%s', `addr` = '%s',
+ `notify` = '%s', `poll` = '%s', `alias` = '%s', `success_update` = '%s'
+ WHERE `nurl` = '%s' AND NOT `self` AND `uid` = 0",
dbesc($result["name"]),
dbesc($result["nick"]),
- dbesc(datetime_convert()),
+ dbesc($result["url"]),
+ dbesc($result["addr"]),
+ dbesc($result["notify"]),
+ dbesc($result["poll"]),
+ dbesc($result["alias"]),
dbesc(datetime_convert()),
dbesc(normalise_link($result['url']))
);