diff options
author | Friendika <info@friendika.com> | 2011-04-04 19:36:18 -0700 |
---|---|---|
committer | Friendika <info@friendika.com> | 2011-04-04 19:36:18 -0700 |
commit | 793967a1d3c23fcf1f3b00a2832f51e6f473f4bd (patch) | |
tree | ec045409190c042c621874f10cf38cf00488b9b3 /mod/follow.php | |
parent | 178362e50b846aef1caf4e191ea0394c5d636857 (diff) | |
download | volse-hubzilla-793967a1d3c23fcf1f3b00a2832f51e6f473f4bd.tar.gz volse-hubzilla-793967a1d3c23fcf1f3b00a2832f51e6f473f4bd.tar.bz2 volse-hubzilla-793967a1d3c23fcf1f3b00a2832f51e6f473f4bd.zip |
better handling of troublesome feeds.
Diffstat (limited to 'mod/follow.php')
-rw-r--r-- | mod/follow.php | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/mod/follow.php b/mod/follow.php index 4ce3ccb82..06e81ceed 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -15,7 +15,8 @@ function follow_post(&$a) { $email_conversant = false; if($url) { - $links = @lrdd($url); + $links = lrdd($url); + if(count($links)) { foreach($links as $link) { if($link['@attributes']['rel'] === NAMESPACE_DFRN) @@ -107,7 +108,7 @@ function follow_post(&$a) { if((! isset($vcard)) && (! $poll)) { $ret = scrape_feed($url); - + logger('mod_follow: scrape_feed returns: ' . print_r($ret,true), LOGGER_DATA); if(count($ret) && ($ret['feed_atom'] || $ret['feed_rss'])) { $poll = ((x($ret,'feed_atom')) ? unamp($ret['feed_atom']) : unamp($ret['feed_rss'])); $vcard = array(); @@ -156,7 +157,14 @@ function follow_post(&$a) { } if((! $vcard['photo']) && strlen($email)) $vcard['photo'] = gravatar_img($email); - + if($poll === $profile) + $lnk = $feed->get_permalink(); + if(isset($lnk) && strlen($lnk)) + $profile = $lnk; + if(! (x($vcard,'fn'))) + $vcard['fn'] = notags($feed->get_title()); + if(! (x($vcard,'fn'))) + $vcard['fn'] = notags($feed->get_description()); $network = 'feed'; $priority = 2; } |