summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/af_comics/filters/af_comics_cad.php4
-rw-r--r--plugins/af_comics/filters/af_comics_comicclass.php4
-rw-r--r--plugins/af_comics/filters/af_comics_comicpress.php4
-rw-r--r--plugins/af_comics/filters/af_comics_darklegacy.php4
-rw-r--r--plugins/af_comics/filters/af_comics_dilbert.php2
-rw-r--r--plugins/af_comics/filters/af_comics_explosm.php4
-rw-r--r--plugins/af_comics/filters/af_comics_pa.php6
-rw-r--r--plugins/af_comics/filters/af_comics_pvp.php4
-rw-r--r--plugins/af_comics/filters/af_comics_tfd.php4
-rw-r--r--plugins/af_comics/filters/af_comics_twp.php4
-rw-r--r--plugins/af_comics/filters/af_comics_whomp.php4
-rw-r--r--plugins/af_comics/init.php4
-rw-r--r--plugins/af_fsckportal/init.php4
-rwxr-xr-xplugins/af_redditimgur/init.php64
-rw-r--r--plugins/af_zz_imgproxy/init.php4
15 files changed, 87 insertions, 33 deletions
diff --git a/plugins/af_comics/filters/af_comics_cad.php b/plugins/af_comics/filters/af_comics_cad.php
index 6846f3cb0..d2eb38caf 100644
--- a/plugins/af_comics/filters/af_comics_cad.php
+++ b/plugins/af_comics/filters/af_comics_cad.php
@@ -25,7 +25,7 @@ class Af_Comics_Cad extends Af_ComicFilter {
$basenode = $xpath->query('//div[@class="comicpage"]/a/img')->item(0);
if ($basenode) {
- $article["content"] = $doc->saveXML($basenode);
+ $article["content"] = $doc->saveHTML($basenode);
}
}
@@ -36,4 +36,4 @@ class Af_Comics_Cad extends Af_ComicFilter {
return false;
}
-} \ No newline at end of file
+}
diff --git a/plugins/af_comics/filters/af_comics_comicclass.php b/plugins/af_comics/filters/af_comics_comicclass.php
index 56a5b9cf6..b4b3a962c 100644
--- a/plugins/af_comics/filters/af_comics_comicclass.php
+++ b/plugins/af_comics/filters/af_comics_comicclass.php
@@ -22,7 +22,7 @@ class Af_Comics_ComicClass extends Af_ComicFilter {
$basenode = $xpath->query('//div[@class="comic"]')->item(0);
if ($basenode) {
- $article["content"] = $doc->saveXML($basenode);
+ $article["content"] = $doc->saveHTML($basenode);
}
}
@@ -31,4 +31,4 @@ class Af_Comics_ComicClass extends Af_ComicFilter {
return false;
}
-} \ No newline at end of file
+}
diff --git a/plugins/af_comics/filters/af_comics_comicpress.php b/plugins/af_comics/filters/af_comics_comicpress.php
index 81994d90b..51d9bab3b 100644
--- a/plugins/af_comics/filters/af_comics_comicpress.php
+++ b/plugins/af_comics/filters/af_comics_comicpress.php
@@ -27,7 +27,7 @@ class Af_Comics_ComicPress extends Af_ComicFilter {
$basenode = $xpath->query('//div[@id="comic"]')->item(0);
if ($basenode) {
- $article["content"] = $doc->saveXML($basenode);
+ $article["content"] = $doc->saveHTML($basenode);
}
}
@@ -36,4 +36,4 @@ class Af_Comics_ComicPress extends Af_ComicFilter {
return false;
}
-} \ No newline at end of file
+}
diff --git a/plugins/af_comics/filters/af_comics_darklegacy.php b/plugins/af_comics/filters/af_comics_darklegacy.php
index 33c1eca5c..0882514d0 100644
--- a/plugins/af_comics/filters/af_comics_darklegacy.php
+++ b/plugins/af_comics/filters/af_comics_darklegacy.php
@@ -26,7 +26,7 @@ class Af_Comics_DarkLegacy extends Af_ComicFilter {
if ($basenode) {
- $article["content"] = $doc->saveXML($basenode);
+ $article["content"] = $doc->saveHTML($basenode);
}
}
@@ -35,4 +35,4 @@ class Af_Comics_DarkLegacy extends Af_ComicFilter {
return false;
}
-} \ No newline at end of file
+}
diff --git a/plugins/af_comics/filters/af_comics_dilbert.php b/plugins/af_comics/filters/af_comics_dilbert.php
index 565b44657..a40f8a9ba 100644
--- a/plugins/af_comics/filters/af_comics_dilbert.php
+++ b/plugins/af_comics/filters/af_comics_dilbert.php
@@ -49,7 +49,7 @@ class Af_Comics_Dilbert extends Af_ComicFilter {
}
if ($basenode) {
- $article["content"] = $doc->saveXML($basenode);
+ $article["content"] = $doc->saveHTML($basenode);
}
// Add comic title to article type if not empty (mostly Sunday strips)
diff --git a/plugins/af_comics/filters/af_comics_explosm.php b/plugins/af_comics/filters/af_comics_explosm.php
index 35a2edd41..c47014da4 100644
--- a/plugins/af_comics/filters/af_comics_explosm.php
+++ b/plugins/af_comics/filters/af_comics_explosm.php
@@ -16,7 +16,7 @@ class Af_Comics_Explosm extends Af_ComicFilter {
$basenode = $xpath->query('(//img[@id="main-comic"])')->item(0);
if ($basenode) {
- $article["content"] = $doc->saveXML($basenode);
+ $article["content"] = $doc->saveHTML($basenode);
}
}
@@ -25,4 +25,4 @@ class Af_Comics_Explosm extends Af_ComicFilter {
return false;
}
-} \ No newline at end of file
+}
diff --git a/plugins/af_comics/filters/af_comics_pa.php b/plugins/af_comics/filters/af_comics_pa.php
index ae5cabec0..e6558d8de 100644
--- a/plugins/af_comics/filters/af_comics_pa.php
+++ b/plugins/af_comics/filters/af_comics_pa.php
@@ -19,7 +19,7 @@ class Af_Comics_Pa extends Af_ComicFilter {
$basenode = $xpath->query('(//div[@id="comicFrame"])')->item(0);
if ($basenode) {
- $article["content"] = $doc->saveXML($basenode);
+ $article["content"] = $doc->saveHTML($basenode);
}
}
@@ -62,7 +62,7 @@ class Af_Comics_Pa extends Af_ComicFilter {
}
if ($basenode){
- $article["content"] = $doc->saveXML($basenode);
+ $article["content"] = $doc->saveHTML($basenode);
}
}
@@ -71,4 +71,4 @@ class Af_Comics_Pa extends Af_ComicFilter {
return false;
}
-} \ No newline at end of file
+}
diff --git a/plugins/af_comics/filters/af_comics_pvp.php b/plugins/af_comics/filters/af_comics_pvp.php
index 1a1ccab3d..cf0b79d78 100644
--- a/plugins/af_comics/filters/af_comics_pvp.php
+++ b/plugins/af_comics/filters/af_comics_pvp.php
@@ -19,7 +19,7 @@ class Af_Comics_Pvp extends Af_ComicFilter {
$basenode = $xpath->query('//section[@class="comic-art"]')->item(0);
if ($basenode) {
- $article["content"] = $doc->saveXML($basenode);
+ $article["content"] = $doc->saveHTML($basenode);
}
}
@@ -28,4 +28,4 @@ class Af_Comics_Pvp extends Af_ComicFilter {
return false;
}
-} \ No newline at end of file
+}
diff --git a/plugins/af_comics/filters/af_comics_tfd.php b/plugins/af_comics/filters/af_comics_tfd.php
index 78792d254..376ec0714 100644
--- a/plugins/af_comics/filters/af_comics_tfd.php
+++ b/plugins/af_comics/filters/af_comics_tfd.php
@@ -21,7 +21,7 @@ class Af_Comics_Tfd extends Af_ComicFilter {
$basenode = $xpath->query('//img[contains(@src, ".gif")]')->item(0);
if ($basenode) {
- $article["content"] = $doc->saveXML($basenode);
+ $article["content"] = $doc->saveHTML($basenode);
return true;
}
}
@@ -29,4 +29,4 @@ class Af_Comics_Tfd extends Af_ComicFilter {
return false;
}
-} \ No newline at end of file
+}
diff --git a/plugins/af_comics/filters/af_comics_twp.php b/plugins/af_comics/filters/af_comics_twp.php
index 712d54a1d..f53b89b63 100644
--- a/plugins/af_comics/filters/af_comics_twp.php
+++ b/plugins/af_comics/filters/af_comics_twp.php
@@ -17,7 +17,7 @@ class Af_Comics_Twp extends Af_ComicFilter {
$basenode = $xpath->query("//td/center/img")->item(0);
if ($basenode) {
- $article["content"] = $doc->saveXML($basenode);
+ $article["content"] = $doc->saveHTML($basenode);
}
}
@@ -26,4 +26,4 @@ class Af_Comics_Twp extends Af_ComicFilter {
return false;
}
-} \ No newline at end of file
+}
diff --git a/plugins/af_comics/filters/af_comics_whomp.php b/plugins/af_comics/filters/af_comics_whomp.php
index 3c2e0b0c7..d574bf5d3 100644
--- a/plugins/af_comics/filters/af_comics_whomp.php
+++ b/plugins/af_comics/filters/af_comics_whomp.php
@@ -24,7 +24,7 @@ class Af_Comics_Whomp extends Af_ComicFilter {
$basenode = $xpath->query('//img[@id="cc-comic"]')->item(0);
if ($basenode) {
- $article["content"] = $doc->saveXML($basenode);
+ $article["content"] = $doc->saveHTML($basenode);
}
}
@@ -33,4 +33,4 @@ class Af_Comics_Whomp extends Af_ComicFilter {
return false;
}
-} \ No newline at end of file
+}
diff --git a/plugins/af_comics/init.php b/plugins/af_comics/init.php
index 09e903379..6bd3c23e2 100644
--- a/plugins/af_comics/init.php
+++ b/plugins/af_comics/init.php
@@ -127,7 +127,7 @@ class Af_Comics extends Plugin {
$tpl->setVariable('ARTICLE_LINK', $article_link, true);
$tpl->setVariable('ARTICLE_TITLE', date('l, F d, Y'), true);
$tpl->setVariable('ARTICLE_EXCERPT', '', true);
- $tpl->setVariable('ARTICLE_CONTENT', $doc->saveXML($node), true);
+ $tpl->setVariable('ARTICLE_CONTENT', $doc->saveHTML($node), true);
$tpl->setVariable('ARTICLE_AUTHOR', '', true);
$tpl->setVariable('ARTICLE_SOURCE_LINK', $site_url, true);
@@ -153,4 +153,4 @@ class Af_Comics extends Plugin {
return 2;
}
-} \ No newline at end of file
+}
diff --git a/plugins/af_fsckportal/init.php b/plugins/af_fsckportal/init.php
index 40ace5022..0fa58e9ed 100644
--- a/plugins/af_fsckportal/init.php
+++ b/plugins/af_fsckportal/init.php
@@ -37,7 +37,7 @@ class Af_Fsckportal extends Plugin {
}
}
- $article["content"] = $doc->saveXML();
+ $article["content"] = $doc->saveHTML();
}
@@ -48,4 +48,4 @@ class Af_Fsckportal extends Plugin {
return 2;
}
-} \ No newline at end of file
+}
diff --git a/plugins/af_redditimgur/init.php b/plugins/af_redditimgur/init.php
index d08dfa7a6..8074894fd 100755
--- a/plugins/af_redditimgur/init.php
+++ b/plugins/af_redditimgur/init.php
@@ -79,6 +79,7 @@ class Af_RedditImgur extends Plugin {
private function inline_stuff($article, &$doc, $xpath, $debug = false) {
$entries = $xpath->query('(//a[@href]|//img[@src])');
+ $img_entries = $xpath->query("(//img[@src])");
$found = false;
@@ -146,6 +147,51 @@ class Af_RedditImgur extends Plugin {
}
}
+ if (!$found && preg_match("/https?:\/\/v\.redd\.it\/(.*)$/i", $entry->getAttribute("href"), $matches)) {
+
+ _debug("Handling as reddit inline video", $debug);
+
+ $img = $img_entries->item(0);
+
+ if ($img) {
+ $poster_url = $img->getAttribute("src");
+ } else {
+ $poster_url = false;
+ }
+
+ // Get original article URL from v.redd.it redirects
+ $source_article_url = $this->get_location($matches[0]);
+ _debug("Resolved ".$matches[0]." to ".$source_article_url, $debug);
+
+ $source_stream = false;
+
+ if ($source_article_url) {
+ $j = json_decode(fetch_file_contents($source_article_url.".json"), true);
+
+ if ($j) {
+ foreach ($j as $listing) {
+ foreach ($listing["data"]["children"] as $child) {
+ if ($child["data"]["url"] == $matches[0]) {
+ try {
+ $source_stream = $child["data"]["media"]["reddit_video"]["fallback_url"];
+ }
+ catch (Exception $e) {
+ }
+ break 2;
+ }
+ }
+ }
+ }
+ }
+
+ if (!$source_stream) {
+ $source_stream = "https://v.redd.it/" . $matches[1] . "/DASH_600_K";
+ }
+
+ $this->handle_as_video($doc, $entry, $source_stream, $poster_url);
+ $found = 1;
+ }
+
if (!$found && preg_match("/https?:\/\/(www\.)?streamable.com\//i", $entry->getAttribute("href"))) {
_debug("Handling as Streamable", $debug);
@@ -364,7 +410,7 @@ class Af_RedditImgur extends Plugin {
$node = $doc->getElementsByTagName('body')->item(0);
if ($node && $found) {
- $article["content"] = $doc->saveXML($node);
+ $article["content"] = $doc->saveHTML($node);
} else if ($content_link) {
$article = $this->readability($article, $content_link->getAttribute("href"), $doc, $xpath);
}
@@ -433,8 +479,8 @@ class Af_RedditImgur extends Plugin {
}
}
- private function get_content_type($url, $useragent = SELF_USER_AGENT) {
- $content_type = false;
+ private function get_header($url, $useragent = SELF_USER_AGENT, $header) {
+ $ret = false;
if (function_exists("curl_init") && !defined("NO_CURL")) {
$ch = curl_init($url);
@@ -446,10 +492,18 @@ class Af_RedditImgur extends Plugin {
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
@curl_exec($ch);
- $content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
+ $ret = curl_getinfo($ch, $header);
}
- return $content_type;
+ return $ret;
+ }
+
+ private function get_content_type($url, $useragent = SELF_USER_AGENT) {
+ return $this->get_header($url, $useragent, CURLINFO_CONTENT_TYPE);
+ }
+
+ private function get_location($url, $useragent = SELF_USER_AGENT) {
+ return $this->get_header($url, $useragent, CURLINFO_EFFECTIVE_URL);
}
/**
diff --git a/plugins/af_zz_imgproxy/init.php b/plugins/af_zz_imgproxy/init.php
index c3b3f7fd5..41fec4ac5 100644
--- a/plugins/af_zz_imgproxy/init.php
+++ b/plugins/af_zz_imgproxy/init.php
@@ -199,7 +199,7 @@ class Af_Zz_ImgProxy extends Plugin {
}
}
- if ($need_saving) $article["content"] = $doc->saveXML();
+ if ($need_saving) $article["content"] = $doc->saveHTML();
return $article;
}
@@ -257,4 +257,4 @@ class Af_Zz_ImgProxy extends Plugin {
function api_version() {
return 2;
}
-} \ No newline at end of file
+}