--- /dev/null
+<?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;
+ }
+}
+?>
--- /dev/null
+<?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;
+ }
+}
+?>
--- /dev/null
+<?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;
+ }
+}
+?>
+++ /dev/null
-<?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;
- }
-}
-?>
+++ /dev/null
-<?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;
- }
-}
-?>
+++ /dev/null
-<?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;
- }
-}
-?>