Drupal doesn't provide absolute URL on feed. Fix to allow importing Drupal "contacts".

This commit is contained in:
Friendika 2011-05-21 19:15:55 -07:00
parent 1ccda19f7a
commit f3f063c0dd

View File

@ -241,6 +241,17 @@ function scrape_feed($url) {
} }
} }
$head = $dom->getElementsByTagName('base');
if($head) {
foreach($head as $head0) {
$basename = $head0->getAttribute('href');
break;
}
}
if(! $basename)
$basename = substr($url,0,strrpos($url,'/')) . '/';
$items = $dom->getElementsByTagName('link'); $items = $dom->getElementsByTagName('link');
// get Atom/RSS link elements, take the first one of either. // get Atom/RSS link elements, take the first one of either.
@ -259,6 +270,13 @@ function scrape_feed($url) {
} }
} }
// Drupal and perhaps others only provide relative URL's. Turn them into absolute.
if(x($ret,'feed_atom') && (! strstr($ret['feed_atom'],'://')))
$ret['feed_atom'] = $basename . $ret['feed_atom'];
if(x($ret,'feed_rss') && (! strstr($ret['feed_rss'],'://')))
$ret['feed_rss'] = $basename . $ret['feed_rss'];
return $ret; return $ret;
}} }}