summaryrefslogtreecommitdiff
path: root/plugins/af_comics/init.php
diff options
context:
space:
mode:
authorYoungMin Park <[email protected]>2014-11-04 11:49:43 +0900
committerYoungMin Park <[email protected]>2014-11-04 11:49:43 +0900
commita5bbb2bec133bdee08b361628f32430ae3884107 (patch)
treeb203105149ec234ebe155d5718d2cbb6390b4a45 /plugins/af_comics/init.php
parent12727ad17d125eb2f3f243231ccca1cb0a5a7b4b (diff)
parent2f43089de1ead3f164b8b31967d1abbb784319fa (diff)
Merge pull request #1 from gothfox/master
Update from original
Diffstat (limited to 'plugins/af_comics/init.php')
-rw-r--r--plugins/af_comics/init.php79
1 files changed, 79 insertions, 0 deletions
diff --git a/plugins/af_comics/init.php b/plugins/af_comics/init.php
new file mode 100644
index 000000000..efc51d187
--- /dev/null
+++ b/plugins/af_comics/init.php
@@ -0,0 +1,79 @@
+<?php
+class Af_Comics extends Plugin {
+
+ private $host;
+ private $filters = array();
+
+ function about() {
+ return array(1.0,
+ "Fixes RSS feeds of assorted comic strips",
+ "fox");
+ }
+
+ function init($host) {
+ $this->host = $host;
+
+ $host->add_hook($host::HOOK_ARTICLE_FILTER, $this);
+ $host->add_hook($host::HOOK_PREFS_TAB, $this);
+
+ require_once __DIR__ . "/filter_base.php";
+
+ $filters = glob(__DIR__ . "/filters/*.php");
+
+ foreach ($filters as $file) {
+ require_once $file;
+ $filter_name = preg_replace("/\..*$/", "", basename($file));
+
+ $filter = new $filter_name();
+
+ if (is_subclass_of($filter, "Af_ComicFilter")) {
+ array_push($this->filters, $filter);
+ }
+ }
+
+ }
+
+ function hook_prefs_tab($args) {
+ if ($args != "prefPrefs") return;
+
+ print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Feeds supported by af_comics')."\">";
+
+ print "<p>" . __("The following comics are currently supported:") . "</p>";
+
+ $comics = array();
+
+ foreach ($this->filters as $f) {
+ foreach ($f->supported() as $comic) {
+ array_push($comics, $comic);
+ }
+ }
+
+ asort($comics);
+
+ print "<ul class=\"browseFeedList\" style=\"border-width : 1px\">";
+ foreach ($comics as $comic) {
+ print "<li>$comic</li>";
+ }
+ print "</ul>";
+
+ print "</div>";
+ }
+
+ function hook_article_filter($article) {
+ $owner_uid = $article["owner_uid"];
+
+ foreach ($this->filters as $f) {
+ if ($f->process($article))
+ break;
+ }
+
+ return $article;
+
+ }
+
+ function api_version() {
+ return 2;
+ }
+
+}
+?>