From: Andrew Dolgov <noreply@fakecake.org>
Date: Mon, 6 Jul 2015 20:29:00 +0000 (+0300)
Subject: rewrite relative urls in readability output
X-Git-Tag: 16.3~249
X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=fd61fd6e7928c6fd88c6027868f096b35216d9fe;p=tt-rss.git

rewrite relative urls in readability output
---

diff --git a/plugins/af_readability/init.php b/plugins/af_readability/init.php
index 161458c7..8e47d764 100644
--- a/plugins/af_readability/init.php
+++ b/plugins/af_readability/init.php
@@ -104,6 +104,26 @@ class Af_Readability extends Plugin {
 			$r = new Readability($tmp, $article["link"]);
 
 			if ($r->init()) {
+
+				$tmpxpath = new DOMXPath($r->dom);
+
+				$entries = $tmpxpath->query('(//a[@href]|//img[@src])');
+
+				foreach ($entries as $entry) {
+					if ($entry->hasAttribute("href")) {
+						$entry->setAttribute("href",
+							rewrite_relative_url($entry->getAttribute("href"), $article["link"]));
+
+					}
+
+					if ($entry->hasAttribute("src")) {
+						$entry->setAttribute("src",
+							rewrite_relative_url($entry->getAttribute("src"), $article["link"]));
+
+					}
+
+				}
+
 				$article["content"] = $r->articleContent->innerHTML;
 			}
 		}
diff --git a/plugins/af_redditimgur/init.php b/plugins/af_redditimgur/init.php
index 0dfd3f0c..ca451bfc 100644
--- a/plugins/af_redditimgur/init.php
+++ b/plugins/af_redditimgur/init.php
@@ -266,8 +266,28 @@ class Af_RedditImgur extends Plugin {
 								$r = new Readability($tmp, $content_link->getAttribute("href"));
 
 								if ($r->init()) {
-									$article["content"] = $r->articleContent->innerHTML . "<hr/>" . $article["content"];
+									//$article["content"] = $r->articleContent->innerHTML . "<hr/>" . $article["content"];
+
+									$tmpxpath = new DOMXPath($r->dom);
+
+									$entries = $tmpxpath->query('(//a[@href]|//img[@src])');
+
+									foreach ($entries as $entry) {
+										if ($entry->hasAttribute("href")) {
+											$entry->setAttribute("href",
+												rewrite_relative_url($entry->getAttribute("href"), $content_link));
+
+										}
 
+										if ($entry->hasAttribute("src")) {
+											$entry->setAttribute("src",
+												rewrite_relative_url($entry->getAttribute("src"), $content_link));
+
+										}
+
+									}
+
+									$article["content"] = $r->articleContent->innerHTML . "<hr/>" . $article["content"];
 								}
 							}