]> git.wh0rd.org - tt-rss.git/commitdiff
af_comics: fix for whomp
authorAndrew Dolgov <noreply@madoka.volgo-balt.ru>
Mon, 21 Sep 2015 09:25:04 +0000 (12:25 +0300)
committerAndrew Dolgov <noreply@madoka.volgo-balt.ru>
Mon, 21 Sep 2015 09:25:04 +0000 (12:25 +0300)
plugins/af_comics/filters/af_comics_comicpress.php
plugins/af_comics/filters/af_comics_whomp.php [new file with mode: 0644]

index ec4b7ac57470f8cda6a8a174aa92b90d35d81882..3068375986552bdbdace10a2920a65d5a7db876c 100644 (file)
@@ -2,7 +2,7 @@
 class Af_Comics_ComicPress extends Af_ComicFilter {
 
        function supported() {
-               return array("Buni", "Buttersafe", "Whomp!", "Happy Jar", "CSection",
+               return array("Buni", "Buttersafe", "Happy Jar", "CSection",
                        "Extra Fabulous Comics");
        }
 
@@ -11,7 +11,6 @@ class Af_Comics_ComicPress extends Af_ComicFilter {
 
                if (strpos($article["guid"], "bunicomic.com") !== FALSE ||
                                strpos($article["guid"], "buttersafe.com") !== FALSE ||
-                               strpos($article["guid"], "whompcomic.com") !== FALSE ||
                                strpos($article["guid"], "extrafabulouscomics.com") !== FALSE ||
                                strpos($article["guid"], "happyjar.com") !== FALSE ||
                                strpos($article["guid"], "csectioncomics.com") !== FALSE) {
diff --git a/plugins/af_comics/filters/af_comics_whomp.php b/plugins/af_comics/filters/af_comics_whomp.php
new file mode 100644 (file)
index 0000000..5bc6a14
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+class Af_Comics_Whomp extends Af_ComicFilter {
+
+       function supported() {
+               return array("Whomp!");
+       }
+
+       function process(&$article) {
+               if (strpos($article["guid"], "whompcomic.com") !== FALSE) {
+
+                       $res = fetch_file_contents($article["link"], false, false, false,
+                                false, false, 0,
+                                "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)");
+
+                       global $fetch_last_error_content;
+
+                       if (!$res && $fetch_last_error_content)
+                               $res = $fetch_last_error_content;
+
+                       $doc = new DOMDocument();
+
+                       if (@$doc->loadHTML($res)) {
+                               $xpath = new DOMXPath($doc);
+                               $basenode = $xpath->query('//img[@id="cc-comic"]')->item(0);
+
+                               if ($basenode) {
+                                       $article["content"] = $doc->saveXML($basenode);
+                               }
+                       }
+
+                       return true;
+               }
+
+               return false;
+       }
+}
+?>