diff options
author | Andrew Dolgov <[email protected]> | 2015-08-11 23:28:41 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2015-08-11 23:28:42 +0300 |
commit | b87744534a5250e9f839997f8eceb5b86b8c0e5c (patch) | |
tree | a0d106ac1cff35f1b65e0c2bd0b00bd511155780 /classes/pluginhost.php | |
parent | ad9928a5cb50bfd9cddce5e68efcc843a9a30288 (diff) |
add plugin-based filter actions (see example plugin in attic)
bump schema
Diffstat (limited to 'classes/pluginhost.php')
-rw-r--r-- | classes/pluginhost.php | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/classes/pluginhost.php b/classes/pluginhost.php index c4ec1871d..75620a191 100644 --- a/classes/pluginhost.php +++ b/classes/pluginhost.php @@ -8,6 +8,7 @@ class PluginHost { private $storage = array(); private $feeds = array(); private $api_methods = array(); + private $plugin_actions = array(); private $owner_uid; private $debug; private $last_registered; @@ -47,6 +48,7 @@ class PluginHost { const HOOK_SUBSCRIBE_FEED = 27; const HOOK_HEADLINES_BEFORE = 28; const HOOK_RENDER_ENCLOSURE = 29; + const HOOK_ARTICLE_FILTER_ACTION = 30; const KIND_ALL = 1; const KIND_SYSTEM = 2; @@ -98,7 +100,7 @@ class PluginHost { } function get_plugin($name) { - return $this->plugins[$name]; + return $this->plugins[strtolower($name)]; } function run_hooks($type, $method, $args) { @@ -415,5 +417,19 @@ class PluginHost { function get_api_method($name) { return $this->api_methods[$name]; } + + function add_filter_action($sender, $action_name, $action_desc) { + $sender_class = get_class($sender); + + if (!isset($this->plugin_actions[$sender_class])) + $this->plugin_actions[$sender_class] = array(); + + array_push($this->plugin_actions[$sender_class], + array("action" => $action_name, "description" => $action_desc, "sender" => $sender)); + } + + function get_filter_actions() { + return $this->plugin_actions; + } } ?> |