add support for plugins in prefs
This commit is contained in:
parent
5a0e03923f
commit
6065f3ad63
8 changed files with 57 additions and 3 deletions
|
@ -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();
|
||||
|
|
|
@ -1530,6 +1530,10 @@ class Pref_Feeds extends Handler_Protected {
|
|||
|
||||
print "</div>"; #pane
|
||||
|
||||
global $pluginhost;
|
||||
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
|
||||
"hook_prefs_tab", "prefFeeds");
|
||||
|
||||
print "</div>"; #container
|
||||
|
||||
}
|
||||
|
|
|
@ -625,6 +625,11 @@ class Pref_Filters extends Handler_Protected {
|
|||
</div>";
|
||||
|
||||
print "</div>"; #pane
|
||||
|
||||
global $pluginhost;
|
||||
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
|
||||
"hook_prefs_tab", "prefFilters");
|
||||
|
||||
print "</div>"; #container
|
||||
|
||||
}
|
||||
|
|
|
@ -211,6 +211,11 @@ class Pref_Instances extends Handler_Protected {
|
|||
print "</table>";
|
||||
|
||||
print "</div>"; #pane
|
||||
|
||||
global $pluginhost;
|
||||
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
|
||||
"hook_prefs_tab", "prefInstances");
|
||||
|
||||
print "</div>"; #container
|
||||
|
||||
}
|
||||
|
|
|
@ -318,6 +318,11 @@ class Pref_Labels extends Handler_Protected {
|
|||
</div>";
|
||||
|
||||
print "</div>"; #pane
|
||||
|
||||
global $pluginhost;
|
||||
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
|
||||
"hook_prefs_tab", "prefLabels");
|
||||
|
||||
print "</div>"; #container
|
||||
|
||||
}
|
||||
|
|
|
@ -650,6 +650,10 @@ class Pref_Prefs extends Handler_Protected {
|
|||
print "</div>"; #pane
|
||||
}
|
||||
|
||||
global $pluginhost;
|
||||
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
|
||||
"hook_prefs_tab", "prefPrefs");
|
||||
|
||||
print "</div>"; #container
|
||||
}
|
||||
|
||||
|
|
|
@ -487,6 +487,11 @@ class Pref_Users extends Handler_Protected {
|
|||
}
|
||||
|
||||
print "</div>"; #pane
|
||||
|
||||
global $pluginhost;
|
||||
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
|
||||
"hook_prefs_tab", "prefUsers");
|
||||
|
||||
print "</div>"; #container
|
||||
|
||||
}
|
||||
|
|
24
prefs.php
24
prefs.php
|
@ -44,9 +44,27 @@
|
|||
|
||||
<script type="text/javascript" charset="utf-8" src="localized_js.php?<?php echo $dt_add ?>"></script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="js/functions.js?<?php echo $dt_add ?>"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="js/deprecated.js?<?php echo $dt_add ?>"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="js/prefs.js?<?php echo $dt_add ?>"></script>
|
||||
<script type="text/javascript">
|
||||
<?php
|
||||
require 'lib/jsmin.php';
|
||||
|
||||
global $pluginhost;
|
||||
|
||||
foreach ($pluginhost->get_plugins() as $n => $p) {
|
||||
if (method_exists($p, "get_prefs_js")) {
|
||||
echo JSMin::minify($p->get_prefs_js());
|
||||
}
|
||||
}
|
||||
|
||||
foreach (array("functions", "deprecated", "prefs") as $js) {
|
||||
if (!isset($_GET['debug'])) {
|
||||
echo JSMin::minify(file_get_contents("js/$js.js"));
|
||||
} else {
|
||||
echo file_get_contents("js/$js.js");
|
||||
}
|
||||
}
|
||||
?>
|
||||
</script>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
|
||||
|
|
Loading…
Reference in a new issue