]> git.wh0rd.org Git - tt-rss.git/blob - plugins/af_comics/filters/af_comics_comicpress.php
pngcrush.sh
[tt-rss.git] / plugins / af_comics / filters / af_comics_comicpress.php
1 <?php
2 class Af_Comics_ComicPress extends Af_ComicFilter {
3
4         function supported() {
5                 return array("Buni", "Buttersafe", "Happy Jar", "CSection",
6                         "Extra Fabulous Comics", "Nedroid");
7         }
8
9         function process(&$article) {
10                 if (strpos($article["guid"], "bunicomic.com") !== FALSE ||
11                                 strpos($article["guid"], "buttersafe.com") !== FALSE ||
12                                 strpos($article["guid"], "extrafabulouscomics.com") !== FALSE ||
13                                 strpos($article["guid"], "happyjar.com") !== FALSE ||
14                                 strpos($article["guid"], "nedroid.com") !== FALSE ||
15                                 strpos($article["guid"], "csectioncomics.com") !== FALSE) {
16
17                                 // lol at people who block clients by user agent
18                                 // oh noes my ad revenue Q_Q
19
20                                 $res = fetch_file_contents($article["link"], false, false, false,
21                                          false, false, 0,
22                                          "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)");
23
24                                 $doc = new DOMDocument();
25
26                                 if (@$doc->loadHTML($res)) {
27                                         $xpath = new DOMXPath($doc);
28                                         $basenode = $xpath->query('//div[@id="comic"]')->item(0);
29
30                                         if ($basenode) {
31                                                 $article["content"] = $doc->saveHTML($basenode);
32                                         }
33                                 }
34
35                          return true;
36                 }
37
38                 return false;
39         }
40 }