1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<?php
global $m;
require_once('MessageManager.class.php');
$m = new MessageManager($BASE.'/conf.php');
$uid = $m->isLoggedIn();
$auth = ($uid!==false) && ($m->getStatus($uid)>=2);
if (!$auth) {
$m->status('401 Unauthorized');
$m->header('Unauthorized');
$t = $m->template();
$t->tag('h1',array(),"401: Unauthorized");
$t->paragraph('You need to be logged in as an admin (at least user '.
'level 2) to edit global plugin settings. :(');
$m->footer();
exit();
}
$m->header('Administrator Plugin Management');
$t = $m->template();
$t->openTag('form',array('method'=>'post','action'=>$m->baseUrl().plugins));
global $BASE;
set_include_path(get_include_path().PATH_SEPARATOR."$BASE/src/plugins");
$plugin_list = $m->getSysConf('plugins');
$plugins = explode(',', $plugin_list);
foreach ($plugins as $plugin) {
$t->openFieldSet($plugin);
require_once("$plugin.class.php");
$description = call_user_func("$plugin::description");
$params = call_user_func("$plugin::configList");
$t->inputP($description);
foreach ($params as $param => $type) {
$name = $plugin.'_'.$param;
if (isset($_POST[$name])) {
$m->setPluginConf($plugin, $param, $_POST[$name]);
}
$value = $m->getPluginConf($plugin, $param);
$hint = "Type: $type";
switch ($type) {
case 'text':
case 'int':
$t->inputText( $name, $param, $hint, $value); break;
case 'password':
$t->inputPassword($name, $param, $hint, $value); break;
}
}
$t->closeFieldSet();
}
$t->tag('input', array('type'=>'submit', 'value'=>'Save'));
$t->closeTag('form');
$m->footer();
|