add support for plugins in prefs
This commit is contained in:
parent
5a0e03923f
commit
6065f3ad63
|
@ -6,6 +6,8 @@ class PluginHost {
|
||||||
|
|
||||||
const HOOK_ARTICLE_BUTTON = 1;
|
const HOOK_ARTICLE_BUTTON = 1;
|
||||||
const HOOK_ARTICLE_FILTER = 2;
|
const HOOK_ARTICLE_FILTER = 2;
|
||||||
|
const HOOK_PREFS_TAB = 3;
|
||||||
|
const HOOK_PREFS_SECTION = 4;
|
||||||
|
|
||||||
function __construct($link) {
|
function __construct($link) {
|
||||||
$this->link = $link;
|
$this->link = $link;
|
||||||
|
@ -28,6 +30,12 @@ class PluginHost {
|
||||||
return $this->plugins[$name];
|
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) {
|
function add_hook($type, $sender) {
|
||||||
if (!is_array($this->hooks[$type])) {
|
if (!is_array($this->hooks[$type])) {
|
||||||
$this->hooks[$type] = array();
|
$this->hooks[$type] = array();
|
||||||
|
|
|
@ -1530,6 +1530,10 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
|
|
||||||
print "</div>"; #pane
|
print "</div>"; #pane
|
||||||
|
|
||||||
|
global $pluginhost;
|
||||||
|
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
|
||||||
|
"hook_prefs_tab", "prefFeeds");
|
||||||
|
|
||||||
print "</div>"; #container
|
print "</div>"; #container
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -625,6 +625,11 @@ class Pref_Filters extends Handler_Protected {
|
||||||
</div>";
|
</div>";
|
||||||
|
|
||||||
print "</div>"; #pane
|
print "</div>"; #pane
|
||||||
|
|
||||||
|
global $pluginhost;
|
||||||
|
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
|
||||||
|
"hook_prefs_tab", "prefFilters");
|
||||||
|
|
||||||
print "</div>"; #container
|
print "</div>"; #container
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -211,6 +211,11 @@ class Pref_Instances extends Handler_Protected {
|
||||||
print "</table>";
|
print "</table>";
|
||||||
|
|
||||||
print "</div>"; #pane
|
print "</div>"; #pane
|
||||||
|
|
||||||
|
global $pluginhost;
|
||||||
|
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
|
||||||
|
"hook_prefs_tab", "prefInstances");
|
||||||
|
|
||||||
print "</div>"; #container
|
print "</div>"; #container
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -318,6 +318,11 @@ class Pref_Labels extends Handler_Protected {
|
||||||
</div>";
|
</div>";
|
||||||
|
|
||||||
print "</div>"; #pane
|
print "</div>"; #pane
|
||||||
|
|
||||||
|
global $pluginhost;
|
||||||
|
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
|
||||||
|
"hook_prefs_tab", "prefLabels");
|
||||||
|
|
||||||
print "</div>"; #container
|
print "</div>"; #container
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -650,6 +650,10 @@ class Pref_Prefs extends Handler_Protected {
|
||||||
print "</div>"; #pane
|
print "</div>"; #pane
|
||||||
}
|
}
|
||||||
|
|
||||||
|
global $pluginhost;
|
||||||
|
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
|
||||||
|
"hook_prefs_tab", "prefPrefs");
|
||||||
|
|
||||||
print "</div>"; #container
|
print "</div>"; #container
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -487,6 +487,11 @@ class Pref_Users extends Handler_Protected {
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</div>"; #pane
|
print "</div>"; #pane
|
||||||
|
|
||||||
|
global $pluginhost;
|
||||||
|
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
|
||||||
|
"hook_prefs_tab", "prefUsers");
|
||||||
|
|
||||||
print "</div>"; #container
|
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="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">
|
||||||
<script type="text/javascript" charset="utf-8" src="js/deprecated.js?<?php echo $dt_add ?>"></script>
|
<?php
|
||||||
<script type="text/javascript" charset="utf-8" src="js/prefs.js?<?php echo $dt_add ?>"></script>
|
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"/>
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue