Workaround for misconfigured Friendica servers
This commit is contained in:
parent
2dc0b2b731
commit
f880bdd33b
2 changed files with 41 additions and 2 deletions
|
@ -632,9 +632,7 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) {
|
||||||
|
|
||||||
if ($connectornetworks)
|
if ($connectornetworks)
|
||||||
$check_feed = false;
|
$check_feed = false;
|
||||||
|
|
||||||
if($check_feed) {
|
if($check_feed) {
|
||||||
|
|
||||||
$feedret = scrape_feed(($poll) ? $poll : $url);
|
$feedret = scrape_feed(($poll) ? $poll : $url);
|
||||||
|
|
||||||
logger('probe_url: scrape_feed ' . (($poll)? $poll : $url) . ' returns: ' . print_r($feedret,true), LOGGER_DATA);
|
logger('probe_url: scrape_feed ' . (($poll)? $poll : $url) . ' returns: ' . print_r($feedret,true), LOGGER_DATA);
|
||||||
|
@ -726,6 +724,46 @@ 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"];
|
||||||
|
|
||||||
|
// print_r($noscrapedata);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
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