X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2FScrape.php;h=a585047ebdcdc2d98d0cf9890ae5e6de6b9e2a9e;hb=4075b872bf28d5c0286c2d80cc279e73296c5083;hp=7eaac3b44924669981b072bfe7347bf6c9f1b170;hpb=f4f3c8375f9696c55ef16a1b9d26052d26beded1;p=friendica.git diff --git a/include/Scrape.php b/include/Scrape.php index 7eaac3b449..a585047ebd 100644 --- a/include/Scrape.php +++ b/include/Scrape.php @@ -14,7 +14,7 @@ function scrape_dfrn($url) { $s = fetch_url($url); - if(! $s) + if(! $s) return $ret; $headers = $a->get_curl_headers(); @@ -23,7 +23,7 @@ function scrape_dfrn($url) { $lines = explode("\n",$headers); if(count($lines)) { - foreach($lines as $line) { + foreach($lines as $line) { // don't try and run feeds through the html5 parser if(stristr($line,'content-type:') && ((stristr($line,'application/atom+xml')) || (stristr($line,'application/rss+xml')))) return ret; @@ -346,12 +346,13 @@ function probe_url($url, $mode = PROBE_NORMAL) { $network = null; $diaspora = false; $diaspora_base = ''; - $diaspora_guid = ''; + $diaspora_guid = ''; $diaspora_key = ''; $has_lrdd = false; $email_conversant = false; - $twitter = ((strpos($url,'twitter.com') !== false) ? true : false); + // Twitter is deactivated since twitter closed its old API + //$twitter = ((strpos($url,'twitter.com') !== false) ? true : false); $lastfm = ((strpos($url,'last.fm/user') !== false) ? true : false); $at_addr = ((strpos($url,'@') !== false) ? true : false); @@ -485,7 +486,7 @@ function probe_url($url, $mode = PROBE_NORMAL) { } } } - } + } if($mode == PROBE_NORMAL) { if(strlen($zot)) { @@ -531,7 +532,7 @@ function probe_url($url, $mode = PROBE_NORMAL) { } if(strpos($url,'@')) $addr = str_replace('acct:', '', $url); - } + } if($network !== NETWORK_ZOT && $network !== NETWORK_DFRN && $network !== NETWORK_MAIL) { if($diaspora) @@ -544,13 +545,13 @@ function probe_url($url, $mode = PROBE_NORMAL) { $vcard = scrape_vcard($hcard); // Google doesn't use absolute url in profile photos - + if((x($vcard,'photo')) && substr($vcard['photo'],0,1) == '/') { $h = @parse_url($hcard); if($h) $vcard['photo'] = $h['scheme'] . '://' . $h['host'] . $vcard['photo']; } - + logger('probe_url: scrape_vcard: ' . print_r($vcard,true), LOGGER_DATA); } @@ -561,7 +562,7 @@ function probe_url($url, $mode = PROBE_NORMAL) { $vcard['nick'] = $addr_parts[0]; } - if($twitter) { + /* if($twitter) { logger('twitter: setup'); $tid = basename($url); $tapi = 'https://api.twitter.com/1/statuses/user_timeline.rss'; @@ -574,7 +575,7 @@ function probe_url($url, $mode = PROBE_NORMAL) { $vcard['photo'] = 'https://api.twitter.com/1/users/profile_image?screen_name=' . $tid . '&size=bigger'; $vcard['nick'] = $tid; $vcard['fn'] = $tid; - } + } */ if($lastfm) { $profile = $url; @@ -590,6 +591,12 @@ function probe_url($url, $mode = PROBE_NORMAL) { $check_feed = false; + if(stristr($url,'tumblr.com') && (! stristr($url,'/rss'))) { + $poll = $url . '/rss'; + $check_feed = true; + // Will leave it to others to figure out how to grab the avatar, which is on the $url page in the open graph meta links + } + if($twitter || ! $poll) $check_feed = true; if((! isset($vcard)) || (! x($vcard,'fn')) || (! $profile)) @@ -603,7 +610,7 @@ function probe_url($url, $mode = PROBE_NORMAL) { logger('probe_url: scrape_feed ' . (($poll)? $poll : $url) . ' returns: ' . print_r($feedret,true), LOGGER_DATA); if(count($feedret) && ($feedret['feed_atom'] || $feedret['feed_rss'])) { $poll = ((x($feedret,'feed_atom')) ? unamp($feedret['feed_atom']) : unamp($feedret['feed_rss'])); - if(! x($vcard)) + if(! x($vcard)) $vcard = array(); } @@ -618,7 +625,8 @@ function probe_url($url, $mode = PROBE_NORMAL) { logger('probe_url: scrape_feed: headers: ' . $a->get_curl_headers(), LOGGER_DATA); - $feed->set_raw_data($xml); + // Don't try and parse an empty string + $feed->set_raw_data(($xml) ? $xml : ''); $feed->init(); if($feed->error())