summaryrefslogtreecommitdiff
path: root/classes/pluginhost.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2015-08-11 23:28:41 +0300
committerAndrew Dolgov <[email protected]>2015-08-11 23:28:42 +0300
commitb87744534a5250e9f839997f8eceb5b86b8c0e5c (patch)
treea0d106ac1cff35f1b65e0c2bd0b00bd511155780 /classes/pluginhost.php
parentad9928a5cb50bfd9cddce5e68efcc843a9a30288 (diff)
add plugin-based filter actions (see example plugin in attic)
bump schema
Diffstat (limited to 'classes/pluginhost.php')
-rw-r--r--classes/pluginhost.php18
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;
+ }
}
?>