From 6065f3ad6364943e4d6b160db8a2c78ff52e2373 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 23 Dec 2012 16:15:34 +0400 Subject: [PATCH] add support for plugins in prefs --- classes/pluginhost.php | 8 ++++++++ classes/pref/feeds.php | 4 ++++ classes/pref/filters.php | 5 +++++ classes/pref/instances.php | 5 +++++ classes/pref/labels.php | 5 +++++ classes/pref/prefs.php | 4 ++++ classes/pref/users.php | 5 +++++ prefs.php | 24 +++++++++++++++++++++--- 8 files changed, 57 insertions(+), 3 deletions(-) diff --git a/classes/pluginhost.php b/classes/pluginhost.php index f4e01178..d7926fa4 100644 --- a/classes/pluginhost.php +++ b/classes/pluginhost.php @@ -6,6 +6,8 @@ class PluginHost { const HOOK_ARTICLE_BUTTON = 1; const HOOK_ARTICLE_FILTER = 2; + const HOOK_PREFS_TAB = 3; + const HOOK_PREFS_SECTION = 4; function __construct($link) { $this->link = $link; @@ -28,6 +30,12 @@ class PluginHost { return $this->plugins[$name]; } + function run_hooks($type, $method, $args) { + foreach ($this->get_hooks($type) as $hook) { + $hook->$method($args); + } + } + function add_hook($type, $sender) { if (!is_array($this->hooks[$type])) { $this->hooks[$type] = array(); diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php index c51174b0..1f6d63f2 100644 --- a/classes/pref/feeds.php +++ b/classes/pref/feeds.php @@ -1530,6 +1530,10 @@ class Pref_Feeds extends Handler_Protected { print ""; #pane + global $pluginhost; + $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB, + "hook_prefs_tab", "prefFeeds"); + print ""; #container } diff --git a/classes/pref/filters.php b/classes/pref/filters.php index 2eed4dee..572d29f8 100644 --- a/classes/pref/filters.php +++ b/classes/pref/filters.php @@ -625,6 +625,11 @@ class Pref_Filters extends Handler_Protected { "; print ""; #pane + + global $pluginhost; + $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB, + "hook_prefs_tab", "prefFilters"); + print ""; #container } diff --git a/classes/pref/instances.php b/classes/pref/instances.php index 0ce39080..763bb49f 100644 --- a/classes/pref/instances.php +++ b/classes/pref/instances.php @@ -211,6 +211,11 @@ class Pref_Instances extends Handler_Protected { print ""; print ""; #pane + + global $pluginhost; + $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB, + "hook_prefs_tab", "prefInstances"); + print ""; #container } diff --git a/classes/pref/labels.php b/classes/pref/labels.php index a7f79146..e63a0cfc 100644 --- a/classes/pref/labels.php +++ b/classes/pref/labels.php @@ -318,6 +318,11 @@ class Pref_Labels extends Handler_Protected { "; print ""; #pane + + global $pluginhost; + $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB, + "hook_prefs_tab", "prefLabels"); + print ""; #container } diff --git a/classes/pref/prefs.php b/classes/pref/prefs.php index e9f42077..013d589c 100644 --- a/classes/pref/prefs.php +++ b/classes/pref/prefs.php @@ -650,6 +650,10 @@ class Pref_Prefs extends Handler_Protected { print ""; #pane } + global $pluginhost; + $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB, + "hook_prefs_tab", "prefPrefs"); + print ""; #container } diff --git a/classes/pref/users.php b/classes/pref/users.php index a39dce78..40264660 100644 --- a/classes/pref/users.php +++ b/classes/pref/users.php @@ -487,6 +487,11 @@ class Pref_Users extends Handler_Protected { } print ""; #pane + + global $pluginhost; + $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB, + "hook_prefs_tab", "prefUsers"); + print ""; #container } diff --git a/prefs.php b/prefs.php index d83e2ddf..74bcd4cc 100644 --- a/prefs.php +++ b/prefs.php @@ -44,9 +44,27 @@ - - - +