diff options
author | YoungMin Park <[email protected]> | 2014-11-04 11:49:43 +0900 |
---|---|---|
committer | YoungMin Park <[email protected]> | 2014-11-04 11:49:43 +0900 |
commit | a5bbb2bec133bdee08b361628f32430ae3884107 (patch) | |
tree | b203105149ec234ebe155d5718d2cbb6390b4a45 /plugins/af_comics/init.php | |
parent | 12727ad17d125eb2f3f243231ccca1cb0a5a7b4b (diff) | |
parent | 2f43089de1ead3f164b8b31967d1abbb784319fa (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.php | 79 |
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; + } + +} +?> |