From b87744534a5250e9f839997f8eceb5b86b8c0e5c Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 11 Aug 2015 23:28:41 +0300 Subject: add plugin-based filter actions (see example plugin in attic) bump schema --- classes/pluginhost.php | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'classes/pluginhost.php') 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; + } } ?> -- cgit v1.2.3