Merge pull request #2151 from annando/1512-misconfigured-friendica
Workaround for misconfigured Friendica servers with probe_url
This commit is contained in:
commit
d944b65253
2 changed files with 40 additions and 0 deletions
|
@ -726,6 +726,45 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Workaround for misconfigured Friendica servers
|
||||||
|
if (($network == "") AND (strstr($url, "/profile/"))) {
|
||||||
|
$noscrape = str_replace("/profile/", "/noscrape/", $url);
|
||||||
|
$noscrapejson = fetch_url($noscrape);
|
||||||
|
if ($noscrapejson) {
|
||||||
|
|
||||||
|
$network = NETWORK_DFRN;
|
||||||
|
|
||||||
|
$poco = str_replace("/profile/", "/poco/", $url);
|
||||||
|
|
||||||
|
$noscrapedata = json_decode($noscrapejson, true);
|
||||||
|
|
||||||
|
if (isset($noscrapedata["addr"]))
|
||||||
|
$addr = $noscrapedata["addr"];
|
||||||
|
|
||||||
|
if (isset($noscrapedata["fn"]))
|
||||||
|
$vcard["fn"] = $noscrapedata["fn"];
|
||||||
|
|
||||||
|
if (isset($noscrapedata["key"]))
|
||||||
|
$pubkey = $noscrapedata["key"];
|
||||||
|
|
||||||
|
if (isset($noscrapedata["photo"]))
|
||||||
|
$vcard["photo"] = $noscrapedata["photo"];
|
||||||
|
|
||||||
|
if (isset($noscrapedata["dfrn-request"]))
|
||||||
|
$request = $noscrapedata["dfrn-request"];
|
||||||
|
|
||||||
|
if (isset($noscrapedata["dfrn-confirm"]))
|
||||||
|
$confirm = $noscrapedata["dfrn-confirm"];
|
||||||
|
|
||||||
|
if (isset($noscrapedata["dfrn-notify"]))
|
||||||
|
$notify = $noscrapedata["dfrn-notify"];
|
||||||
|
|
||||||
|
if (isset($noscrapedata["dfrn-poll"]))
|
||||||
|
$poll = $noscrapedata["dfrn-poll"];
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if((! $vcard['photo']) && strlen($email))
|
if((! $vcard['photo']) && strlen($email))
|
||||||
$vcard['photo'] = avatar_img($email);
|
$vcard['photo'] = avatar_img($email);
|
||||||
if($poll === $profile)
|
if($poll === $profile)
|
||||||
|
|
|
@ -24,6 +24,7 @@ function noscrape_init(&$a) {
|
||||||
|
|
||||||
$json_info = array(
|
$json_info = array(
|
||||||
'fn' => $a->profile['name'],
|
'fn' => $a->profile['name'],
|
||||||
|
'addr' => $a->profile['addr'],
|
||||||
'key' => $a->profile['pubkey'],
|
'key' => $a->profile['pubkey'],
|
||||||
'homepage' => $a->get_baseurl()."/profile/{$which}",
|
'homepage' => $a->get_baseurl()."/profile/{$which}",
|
||||||
'comm' => (x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY),
|
'comm' => (x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY),
|
||||||
|
|
Loading…
Reference in a new issue