plugins.php
1.82 KB
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
<?php
require_once(KT_LIB_DIR . '/dispatcher.inc.php');
require_once(KT_LIB_DIR . '/validation/dispatchervalidation.inc.php');
require_once(KT_LIB_DIR . '/templating/templating.inc.php');
require_once(KT_LIB_DIR . '/plugins/plugin.inc.php');
require_once(KT_LIB_DIR . '/plugins/pluginutil.inc.php');
require_once(KT_LIB_DIR . '/plugins/pluginentity.inc.php');
require_once(KT_LIB_DIR . "/templating/kt3template.inc.php");
class KTPluginDispatcher extends KTAdminDispatcher {
var $bAutomaticTransaction = true;
function check() {
$this->aBreadcrumbs[] = array(
'url' => $_SERVER['PHP_SELF'],
'name' => _('Plugins'),
);
return parent::check();
}
function do_main() {
$aPlugins = KTPluginEntity::getList();
$aEnabledPluginIds = KTPluginEntity::getEnabledPlugins();
$oTemplating =& KTTemplating::getSingleton();
$oTemplate =& $oTemplating->loadTemplate('ktcore/plugins/list');
$oTemplate->setData(array(
'context' => $this,
'plugins' => $aPlugins,
'enabled_plugins' => $aEnabledPluginIds,
));
return $oTemplate;
}
function do_update() {
$sTable = KTUtil::getTableName('plugins');
$aIds = KTUtil::arrayGet($_REQUEST, 'pluginids');
$sIds = DBUtil::paramArray($aIds);
$sQuery = sprintf('UPDATE %s SET disabled = true WHERE id NOT IN (%s)', $sTable, $sIds);
DBUtil::runQuery(array($sQuery, $aIds));
$sQuery = sprintf('UPDATE %s SET disabled = false WHERE id IN (%s)', $sTable, $sIds);
DBUtil::runQuery(array($sQuery, $aIds));
$this->successRedirectToMain('Plugins updated');
}
function do_reread() {
KTPluginUtil::registerPlugins();
$this->successRedirectToMain('Plugins read from the filesystem');
}
}
?>