Make af_readability use resolved URL when rewriting relative URLs in the article.

This commit is contained in:
JustAMacUser 2017-12-13 00:17:43 -05:00
parent c463a95dca
commit 3ee48ac830

View file

@ -154,6 +154,8 @@ class Af_Readability extends Plugin {
if (strpos($content_type, "text/html") === FALSE) if (strpos($content_type, "text/html") === FALSE)
return false; return false;
$effective_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
} }
$tmp = fetch_file_contents($url); $tmp = fetch_file_contents($url);
@ -164,6 +166,9 @@ class Af_Readability extends Plugin {
if (!$tmpdoc->loadHTML('<?xml encoding="utf-8" ?>\n' . $tmp)) if (!$tmpdoc->loadHTML('<?xml encoding="utf-8" ?>\n' . $tmp))
return false; return false;
if (!isset($effective_url))
$effective_url = $url;
if (strtolower($tmpdoc->encoding) != 'utf-8') { if (strtolower($tmpdoc->encoding) != 'utf-8') {
$tmpxpath = new DOMXPath($tmpdoc); $tmpxpath = new DOMXPath($tmpdoc);
@ -184,13 +189,13 @@ class Af_Readability extends Plugin {
foreach ($entries as $entry) { foreach ($entries as $entry) {
if ($entry->hasAttribute("href")) { if ($entry->hasAttribute("href")) {
$entry->setAttribute("href", $entry->setAttribute("href",
rewrite_relative_url($url, $entry->getAttribute("href"))); rewrite_relative_url($effective_url, $entry->getAttribute("href")));
} }
if ($entry->hasAttribute("src")) { if ($entry->hasAttribute("src")) {
$entry->setAttribute("src", $entry->setAttribute("src",
rewrite_relative_url($url, $entry->getAttribute("src"))); rewrite_relative_url($effective_url, $entry->getAttribute("src")));
} }