X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=include%2FScrape.php;h=ae9331ff7af8fc389ea67aa2e24837e84f8d2e58;hb=c0e87b2beac1f326f97eac6e7f97f95e12498405;hp=a2bf5ee0aa25ae18f8ace6313af302b50b1aa629;hpb=9ae4528d8b977ba5f7623c44fde943a34b5fbae3;p=friendica.git diff --git a/include/Scrape.php b/include/Scrape.php index a2bf5ee0aa..ae9331ff7a 100644 --- a/include/Scrape.php +++ b/include/Scrape.php @@ -320,7 +320,7 @@ function scrape_feed($url) { * PROBE_DIASPORA has a bias towards returning Diaspora information * while PROBE_NORMAL has a bias towards dfrn/zot - in the case where * an address (such as a Friendica address) supports more than one type - * of network. + * of network. * */ @@ -407,7 +407,7 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) { $pubkey = $diaspora_key; $diaspora = true; } - if($link['@attributes']['rel'] === 'http://ostatus.org/schema/1.0/subscribe') { + if(($link['@attributes']['rel'] === 'http://ostatus.org/schema/1.0/subscribe') AND ($mode == PROBE_NORMAL)) { $diaspora = false; } } @@ -552,7 +552,7 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) { if($network !== NETWORK_ZOT && $network !== NETWORK_DFRN && $network !== NETWORK_MAIL) { if($diaspora) $network = NETWORK_DIASPORA; - elseif($has_lrdd) + elseif($has_lrdd AND ($notify)) $network = NETWORK_OSTATUS; if(strpos($url,'@')) @@ -652,9 +652,10 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) { $feed->set_raw_data(($xml) ? $xml : ''); $feed->init(); - if($feed->error()) + if($feed->error()) { logger('probe_url: scrape_feed: Error parsing XML: ' . $feed->error()); - + $network = NETWORK_PHANTOM; + } if(! x($vcard,'photo')) $vcard['photo'] = $feed->get_image_url(); @@ -778,6 +779,9 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) { $baseurl = rtrim($baseurl, "/"); + if(strpos($url,'@') AND ($addr == "") AND ($network == NETWORK_DFRN)) + $addr = str_replace('acct:', '', $url); + $vcard['fn'] = notags($vcard['fn']); $vcard['nick'] = str_replace(' ','',notags($vcard['nick'])); @@ -819,7 +823,9 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) { } } - Cache::set("probe_url:".$mode.":".$url,serialize($result), CACHE_DAY); + // Only store into the cache if the value seems to be valid + if ($result['network'] != NETWORK_FEED) + Cache::set("probe_url:".$mode.":".$url,serialize($result), CACHE_DAY); return $result; }