]> git.wh0rd.org - tt-rss.git/blobdiff - plugins/af_comics/init.php
Merge branch 'master' of github.com:gothfox/Tiny-Tiny-RSS
[tt-rss.git] / plugins / af_comics / init.php
index 993ddb7cdcbdc99b47c5ada97855fc47b8e2f01e..0d1a49a573c4d4fa0ed47fae9c531f8020083069 100644 (file)
@@ -27,6 +27,7 @@ class Af_Comics extends Plugin {
                print "<li>Buni</li>
                <li>Buttersafe</li>
                <li>CSection</li>
+               <li>Ctrl+Alt+Del</li>
                <li>Dilbert</li>
                <li>Explosm</li>
                <li>GoComics</li>
@@ -150,6 +151,29 @@ class Af_Comics extends Plugin {
                        }
                }
 
+               if (strpos($article["link"], "cad-comic.com/cad/") !== FALSE) {
+                       if (strpos($article["plugin_data"], "af_comics,$owner_uid:") === FALSE) {
+
+                               $doc = new DOMDocument();
+                               @$doc->loadHTML(fetch_file_contents($article["link"]));
+
+                               $basenode = false;
+
+                               if ($doc) {
+                                       $xpath = new DOMXPath($doc);
+                                       $basenode = $xpath->query('(//img[contains(@src, "/comics/cad-")])')->item(0);
+
+                                       if ($basenode) {
+                                               $article["content"] = $doc->saveXML($basenode);
+                                               $article["plugin_data"] = "af_comics,$owner_uid:" . $article["plugin_data"];
+                                       }
+                               }
+
+                       } else if (isset($article["stored"]["content"])) {
+                               $article["content"] = $article["stored"]["content"];
+                       }
+               }
+
                if (strpos($article["guid"], "gocomics.com") !== FALSE) {
                        if (strpos($article["plugin_data"], "af_comics,$owner_uid:") === FALSE) {
                                $doc = new DOMDocument();
@@ -240,7 +264,19 @@ class Af_Comics extends Plugin {
                                                $basenode = $entry;
                                        }
 
-                                       $uninteresting = $xpath->query('(//div[@class="heading"])');
+                                       $meta = $xpath->query('(//div[@class="meta"])')->item(0);
+                                       if ($meta->parentNode) { $meta->parentNode->removeChild($meta); }
+
+                                       $header = $xpath->query('(//div[@class="postBody"]/h2)')->item(0);
+                                       if ($header->parentNode) { $header->parentNode->removeChild($header); }
+
+                                       $header = $xpath->query('(//div[@class="postBody"]/div[@class="comicPost"])')->item(0);
+                                       if ($header->parentNode) { $header->parentNode->removeChild($header); }
+
+                                       $avatar = $xpath->query('(//div[@class="avatar"]//img)')->item(0);
+                                       $basenode->insertBefore($avatar, $basenode->firstChild);
+
+                                       $uninteresting = $xpath->query('(//div[@class="avatar"])');
                                        foreach ($uninteresting as $i) {
                                                $i->parentNode->removeChild($i);
                                        }