summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2024-11-26 20:08:44 +0300
committerAndrew Dolgov <fox@fakecake.org>2024-11-26 20:08:44 +0300
commitb045da0e5e353e149b2df966028c6b22c13ebe9d (patch)
tree749cb8e63c74a4831879a359ce6295e8ffca775a
parent8c42b3a3bfdef92fc1232c01cc466457d1f82036 (diff)
add af_comics filter for The Oatmeal
-rw-r--r--plugins/af_comics/filters/af_comics_theoatmeal.php31
1 files changed, 31 insertions, 0 deletions
diff --git a/plugins/af_comics/filters/af_comics_theoatmeal.php b/plugins/af_comics/filters/af_comics_theoatmeal.php
new file mode 100644
index 000000000..4dd4003c8
--- /dev/null
+++ b/plugins/af_comics/filters/af_comics_theoatmeal.php
@@ -0,0 +1,31 @@
+<?php
+class Af_Comics_TheOatmeal extends Af_ComicFilter {
+
+ function supported() {
+ return array("The Oatmeal");
+ }
+
+ function process(&$article) {
+ if (str_contains($article["guid"], "theoatmeal.com")) {
+ $res = UrlHelper::fetch([
+ 'url' => $article['link'],
+ 'useragent' => 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)',
+ ]);
+
+ $doc = new DOMDocument();
+
+ if ($res && $doc->loadHTML($res)) {
+ $xpath = new DOMXPath($doc);
+ $basenode = $xpath->query('//div[@id="comic"]//img')->item(0);
+
+ if ($basenode) {
+ $article["content"] = $doc->saveHTML($basenode);
+ }
+ }
+
+ return true;
+ }
+
+ return false;
+ }
+}