diff --git a/lib/Service/FeedServiceV2.php b/lib/Service/FeedServiceV2.php index bb1be8dcbe..2fbaefee10 100644 --- a/lib/Service/FeedServiceV2.php +++ b/lib/Service/FeedServiceV2.php @@ -16,6 +16,7 @@ use FeedIo\Explorer; use FeedIo\Reader\ReadErrorException; use HTMLPurifier; +use Net_URL2; use OCA\News\Db\FeedMapperV2; use OCA\News\Fetcher\FeedFetcher; @@ -199,7 +200,13 @@ public function create( if ($full_discover) { $feeds = $this->explorer->discover($feedUrl); if ($feeds !== []) { - $feedUrl = array_shift($feeds); + $discoveredUrl = array_shift($feeds); + $url2 = new Net_URL2($discoveredUrl); + if ($url2->isAbsolute()) { + $feedUrl = $discoveredUrl; + } else { + $feedUrl = strval((new Net_URL2($feedUrl))->resolve($discoveredUrl)); + } } }