diff options
Diffstat (limited to 'inc')
-rwxr-xr-x | inc/3rdparty/makefulltextfeed.php | 6 | ||||
-rwxr-xr-x | inc/3rdparty/makefulltextfeedHelpers.php | 10 |
2 files changed, 15 insertions, 1 deletions
diff --git a/inc/3rdparty/makefulltextfeed.php b/inc/3rdparty/makefulltextfeed.php index 62c050ec..a081f88b 100755 --- a/inc/3rdparty/makefulltextfeed.php +++ b/inc/3rdparty/makefulltextfeed.php | |||
@@ -671,7 +671,11 @@ foreach ($items as $key => $item) { | |||
671 | $html .= $item->get_description(); | 671 | $html .= $item->get_description(); |
672 | } else { | 672 | } else { |
673 | $readability->clean($content_block, 'select'); | 673 | $readability->clean($content_block, 'select'); |
674 | if ($options->rewrite_relative_urls) makeAbsolute($effective_url, $content_block); | 674 | // get base URL |
675 | $base_url = get_base_url($readability->dom); | ||
676 | if (!$base_url) $base_url = $effective_url; | ||
677 | // rewrite URLs | ||
678 | if ($options->rewrite_relative_urls) makeAbsolute($base_url, $content_block); | ||
675 | // footnotes | 679 | // footnotes |
676 | if (($links == 'footnotes') && (strpos($effective_url, 'wikipedia.org') === false)) { | 680 | if (($links == 'footnotes') && (strpos($effective_url, 'wikipedia.org') === false)) { |
677 | $readability->addFootnotes($content_block); | 681 | $readability->addFootnotes($content_block); |
diff --git a/inc/3rdparty/makefulltextfeedHelpers.php b/inc/3rdparty/makefulltextfeedHelpers.php index 4e985372..ac872ab8 100755 --- a/inc/3rdparty/makefulltextfeedHelpers.php +++ b/inc/3rdparty/makefulltextfeedHelpers.php | |||
@@ -377,3 +377,13 @@ function debug($msg) { | |||
377 | flush(); | 377 | flush(); |
378 | } | 378 | } |
379 | } | 379 | } |
380 | |||
381 | function get_base_url($dom) { | ||
382 | $xpath = new DOMXPath($dom); | ||
383 | $base_url = @$xpath->evaluate('string(//head/base/@href)', $dom); | ||
384 | if ($base_url !== '') { | ||
385 | return $base_url; | ||
386 | } else { | ||
387 | return false; | ||
388 | } | ||
389 | } | ||