]> git.wh0rd.org - tt-rss.git/commitdiff
rename article filter plugins
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Sun, 30 Dec 2012 08:31:30 +0000 (12:31 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Sun, 30 Dec 2012 08:31:30 +0000 (12:31 +0400)
plugins/af_gocomics/af_gocomics.php [new file with mode: 0644]
plugins/af_pennyarcade/af_pennyarcade.php [new file with mode: 0644]
plugins/af_redditimgur/af_redditimgur.php [new file with mode: 0644]
plugins/gocomics/gocomics.php [deleted file]
plugins/pennyarcade/pennyarcade.php [deleted file]
plugins/redditimgur/redditimgur.php [deleted file]

diff --git a/plugins/af_gocomics/af_gocomics.php b/plugins/af_gocomics/af_gocomics.php
new file mode 100644 (file)
index 0000000..1dd1886
--- /dev/null
@@ -0,0 +1,58 @@
+<?php
+class Af_GoComics extends Plugin {
+
+       private $link;
+       private $host;
+
+       function about() {
+               return array(1.0,
+                       "Strip unnecessary stuff from gocomics feeds",
+                       "fox");
+       }
+
+       function init($host) {
+               $this->link = $host->get_link();
+               $this->host = $host;
+
+               $host->add_hook($host::HOOK_ARTICLE_FILTER, $this);
+       }
+
+       function hook_article_filter($article) {
+               $owner_uid = $article["owner_uid"];
+
+               if (strpos($article["guid"], "gocomics.com") !== FALSE && strpos($article["guid"], "gocomics,$owner_uid:") === FALSE) {
+                       $doc = new DOMDocument();
+                       @$doc->loadHTML(fetch_file_contents($article["link"]));
+
+                       $basenode = false;
+
+                       if ($doc) {
+                               $xpath = new DOMXPath($doc);
+                               $entries = $xpath->query('(//img[@src])'); // we might also check for img[@class='strip'] I guess...
+
+                               $matches = array();
+
+                               foreach ($entries as $entry) {
+
+                                       if (preg_match("/(http:\/\/assets.amuniversal.com\/.*)/i", $entry->getAttribute("src"), $matches)) {
+
+                                               $entry->setAttribute("src", $matches[0]);
+                                               $basenode = $entry;
+                                               break;
+                                       }
+                               }
+
+                               if ($basenode) {
+                                       $article["content"] = $doc->saveXML($basenode, LIBXML_NOEMPTYTAG);
+
+                                       // we need to update guid with owner_uid because our local article is different from the one
+                                       // other users with this plugin disabled might get
+                                       $article["guid"] = "gocomics,$owner_uid:" . $article["guid"];
+                               }
+                       }
+               }
+
+               return $article;
+       }
+}
+?>
diff --git a/plugins/af_pennyarcade/af_pennyarcade.php b/plugins/af_pennyarcade/af_pennyarcade.php
new file mode 100644 (file)
index 0000000..ec03990
--- /dev/null
@@ -0,0 +1,59 @@
+<?php
+class Af_PennyArcade extends Plugin {
+
+       private $link;
+       private $host;
+
+       function about() {
+               return array(1.0,
+                       "Strip unnecessary stuff from PA feeds",
+                       "fox");
+       }
+
+       function init($host) {
+               $this->link = $host->get_link();
+               $this->host = $host;
+
+               $host->add_hook($host::HOOK_ARTICLE_FILTER, $this);
+       }
+
+       function hook_article_filter($article) {
+               $owner_uid = $article["owner_uid"];
+
+               if (strpos($article["link"], "penny-arcade.com") !== FALSE && strpos($article["title"], "Comic:") !== FALSE &&
+                               strpos($article["guid"], "pennyarcade,$owner_uid:") === FALSE) {
+
+                       $doc = new DOMDocument();
+                       @$doc->loadHTML(fetch_file_contents($article["link"]));
+
+                       $basenode = false;
+
+                       if ($doc) {
+                               $xpath = new DOMXPath($doc);
+                               $entries = $xpath->query('(//img[@src])'); // we might also check for img[@class='strip'] I guess...
+
+                               $matches = array();
+
+                               foreach ($entries as $entry) {
+
+                                       if (preg_match("/(http:\/\/art.penny-arcade.com\/.*)/i", $entry->getAttribute("src"), $matches)) {
+
+                                               $basenode = $entry;
+                                               break;
+                                       }
+                               }
+
+                               if ($basenode) {
+                                       $article["content"] = $doc->saveXML($basenode, LIBXML_NOEMPTYTAG);
+
+                                       // we need to update guid with owner_uid because our local article is different from the one
+                                       // other users with this plugin disabled might get
+                                       $article["guid"] = "pennyarcade,$owner_uid:" . $article["guid"];
+                               }
+                       }
+               }
+
+               return $article;
+       }
+}
+?>
diff --git a/plugins/af_redditimgur/af_redditimgur.php b/plugins/af_redditimgur/af_redditimgur.php
new file mode 100644 (file)
index 0000000..a258f3c
--- /dev/null
@@ -0,0 +1,60 @@
+<?php
+class Af_RedditImgur extends Plugin {
+
+       private $link;
+       private $host;
+
+       function about() {
+               return array(1.0,
+                       "Inline image links in Reddit RSS feeds",
+                       "fox");
+       }
+
+       function init($host) {
+               $this->link = $host->get_link();
+               $this->host = $host;
+
+               $host->add_hook($host::HOOK_ARTICLE_FILTER, $this);
+       }
+
+       function hook_article_filter($article) {
+
+               if (strpos($article["link"], "reddit.com/r/") !== FALSE) {
+                       $doc = new DOMDocument();
+                       @$doc->loadHTML($article["content"]);
+
+                       if ($doc) {
+                               $xpath = new DOMXPath($doc);
+                               $entries = $xpath->query('(//a[@href]|//img[@src])');
+
+                               foreach ($entries as $entry) {
+                                       if ($entry->hasAttribute("href")) {
+                                               if (preg_match("/\.(jpg|jpeg|gif|png)$/i", $entry->getAttribute("href"))) {
+
+                                                       $img = $doc->createElement('img');
+                                                       $img->setAttribute("src", $entry->getAttribute("href"));
+
+                                                       $entry->parentNode->replaceChild($img, $entry);
+                                               }
+                                       }
+
+                                       // remove tiny thumbnails
+                                       if ($entry->hasAttribute("src")) {
+                                               if ($entry->parentNode && $entry->parentNode->parentNode) {
+                                                       $entry->parentNode->parentNode->removeChild($entry->parentNode);
+                                               }
+                                       }
+                               }
+
+                               $node = $doc->getElementsByTagName('body')->item(0);
+
+                               if ($node) {
+                                       $article["content"] = $doc->saveXML($node, LIBXML_NOEMPTYTAG);
+                               }
+                       }
+               }
+
+               return $article;
+       }
+}
+?>
diff --git a/plugins/gocomics/gocomics.php b/plugins/gocomics/gocomics.php
deleted file mode 100644 (file)
index d44bf82..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-class GoComics extends Plugin {
-
-       private $link;
-       private $host;
-
-       function about() {
-               return array(1.0,
-                       "Strip unnecessary stuff from gocomics feeds",
-                       "fox");
-       }
-
-       function init($host) {
-               $this->link = $host->get_link();
-               $this->host = $host;
-
-               $host->add_hook($host::HOOK_ARTICLE_FILTER, $this);
-       }
-
-       function hook_article_filter($article) {
-               $owner_uid = $article["owner_uid"];
-
-               if (strpos($article["guid"], "gocomics.com") !== FALSE && strpos($article["guid"], "gocomics,$owner_uid:") === FALSE) {
-                       $doc = new DOMDocument();
-                       @$doc->loadHTML(fetch_file_contents($article["link"]));
-
-                       $basenode = false;
-
-                       if ($doc) {
-                               $xpath = new DOMXPath($doc);
-                               $entries = $xpath->query('(//img[@src])'); // we might also check for img[@class='strip'] I guess...
-
-                               $matches = array();
-
-                               foreach ($entries as $entry) {
-
-                                       if (preg_match("/(http:\/\/assets.amuniversal.com\/.*)/i", $entry->getAttribute("src"), $matches)) {
-
-                                               $entry->setAttribute("src", $matches[0]);
-                                               $basenode = $entry;
-                                               break;
-                                       }
-                               }
-
-                               if ($basenode) {
-                                       $article["content"] = $doc->saveXML($basenode, LIBXML_NOEMPTYTAG);
-
-                                       // we need to update guid with owner_uid because our local article is different from the one
-                                       // other users with this plugin disabled might get
-                                       $article["guid"] = "gocomics,$owner_uid:" . $article["guid"];
-                               }
-                       }
-               }
-
-               return $article;
-       }
-}
-?>
diff --git a/plugins/pennyarcade/pennyarcade.php b/plugins/pennyarcade/pennyarcade.php
deleted file mode 100644 (file)
index 242ae46..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-class PennyArcade extends Plugin {
-
-       private $link;
-       private $host;
-
-       function about() {
-               return array(1.0,
-                       "Strip unnecessary stuff from PA feeds",
-                       "fox");
-       }
-
-       function init($host) {
-               $this->link = $host->get_link();
-               $this->host = $host;
-
-               $host->add_hook($host::HOOK_ARTICLE_FILTER, $this);
-       }
-
-       function hook_article_filter($article) {
-               $owner_uid = $article["owner_uid"];
-
-               if (strpos($article["link"], "penny-arcade.com") !== FALSE && strpos($article["title"], "Comic:") !== FALSE &&
-                               strpos($article["guid"], "pennyarcade,$owner_uid:") === FALSE) {
-
-                       $doc = new DOMDocument();
-                       @$doc->loadHTML(fetch_file_contents($article["link"]));
-
-                       $basenode = false;
-
-                       if ($doc) {
-                               $xpath = new DOMXPath($doc);
-                               $entries = $xpath->query('(//img[@src])'); // we might also check for img[@class='strip'] I guess...
-
-                               $matches = array();
-
-                               foreach ($entries as $entry) {
-
-                                       if (preg_match("/(http:\/\/art.penny-arcade.com\/.*)/i", $entry->getAttribute("src"), $matches)) {
-
-                                               $basenode = $entry;
-                                               break;
-                                       }
-                               }
-
-                               if ($basenode) {
-                                       $article["content"] = $doc->saveXML($basenode, LIBXML_NOEMPTYTAG);
-
-                                       // we need to update guid with owner_uid because our local article is different from the one
-                                       // other users with this plugin disabled might get
-                                       $article["guid"] = "pennyarcade,$owner_uid:" . $article["guid"];
-                               }
-                       }
-               }
-
-               return $article;
-       }
-}
-?>
diff --git a/plugins/redditimgur/redditimgur.php b/plugins/redditimgur/redditimgur.php
deleted file mode 100644 (file)
index ca6554a..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-class RedditImgur extends Plugin {
-
-       private $link;
-       private $host;
-
-       function about() {
-               return array(1.0,
-                       "Inline image links in Reddit RSS feeds",
-                       "fox");
-       }
-
-       function init($host) {
-               $this->link = $host->get_link();
-               $this->host = $host;
-
-               $host->add_hook($host::HOOK_ARTICLE_FILTER, $this);
-       }
-
-       function hook_article_filter($article) {
-
-               if (strpos($article["link"], "reddit.com/r/") !== FALSE) {
-                       $doc = new DOMDocument();
-                       @$doc->loadHTML($article["content"]);
-
-                       if ($doc) {
-                               $xpath = new DOMXPath($doc);
-                               $entries = $xpath->query('(//a[@href]|//img[@src])');
-
-                               foreach ($entries as $entry) {
-                                       if ($entry->hasAttribute("href")) {
-                                               if (preg_match("/\.(jpg|jpeg|gif|png)$/i", $entry->getAttribute("href"))) {
-
-                                                       $img = $doc->createElement('img');
-                                                       $img->setAttribute("src", $entry->getAttribute("href"));
-
-                                                       $entry->parentNode->replaceChild($img, $entry);
-                                               }
-                                       }
-
-                                       // remove tiny thumbnails
-                                       if ($entry->hasAttribute("src")) {
-                                               if ($entry->parentNode && $entry->parentNode->parentNode) {
-                                                       $entry->parentNode->parentNode->removeChild($entry->parentNode);
-                                               }
-                                       }
-                               }
-
-                               $node = $doc->getElementsByTagName('body')->item(0);
-
-                               if ($node) {
-                                       $article["content"] = $doc->saveXML($node, LIBXML_NOEMPTYTAG);
-                               }
-                       }
-               }
-
-               return $article;
-       }
-}
-?>