summaryrefslogtreecommitdiffstats
path: root/modules-available/usblockoff/page.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/usblockoff/page.inc.php')
-rw-r--r--modules-available/usblockoff/page.inc.php98
1 files changed, 54 insertions, 44 deletions
diff --git a/modules-available/usblockoff/page.inc.php b/modules-available/usblockoff/page.inc.php
index c02fadba..5e1b27b4 100644
--- a/modules-available/usblockoff/page.inc.php
+++ b/modules-available/usblockoff/page.inc.php
@@ -18,7 +18,7 @@ class Page_usblockoff extends Page
Util::redirect('?do=Main'); // does not return
}
- $this->action = Request::post('action');
+ $this->action = Request::any('action');
if ($this->action === 'updateConfig') {
$this->updateConfig();
@@ -32,7 +32,25 @@ class Page_usblockoff extends Page
*/
protected function doRender()
{
- $this->loadConfigChooser();
+ $show = Request::get("show", "config-table");
+ if ($show === "config-table") {
+ $this->loadConfigChooser();
+ } else if ($show === "edit-config") {
+ $configid = Request::get("configid", "");
+ $configName = Database::queryFirst("SELECT configname FROM `usb_configs` WHERE configid=:id", array(
+ 'id' => $configid
+ ));
+
+ $rulesConfigHtml = $this->loadRulesConfig($configid);
+ $daemonConfigHtml = $this->loadDaemonConfig($configid);
+
+ Render::addTemplate('usb-edit-config', array(
+ 'configid' => $configid,
+ 'configName' => $configName['configname'],
+ 'rulesConfigHtml' => $rulesConfigHtml,
+ 'daemonConfigHtml' => $daemonConfigHtml
+ ));
+ }
}
protected function loadConfigChooser()
@@ -44,13 +62,12 @@ class Page_usblockoff extends Page
$config['config_name'] = $dbentry['configname'];
$configs[] = $config;
}
-
- Render::addTemplate('usb-choose-config', array('config_list' => array_values($configs)));
+ Render::addTemplate('usb-configuration-table', array('config_list' => array_values($configs)));
}
protected function deleteConfig()
{
- $configID = Request::post('id', 0, 'int');
+ $configID = Request::any('id', 0, 'int');
if ($configID != 0) {
Database::exec("DELETE FROM `usb_configs` WHERE configid=:configid", array('configid' => $configID));
@@ -121,33 +138,24 @@ class Page_usblockoff extends Page
Message::addSuccess('config-saved');
}
- /**
- * AJAX
- */
- protected function doAjax()
- {
- User::load();
- if (!User::isLoggedIn()) {
- die('Unauthorized');
- }
- $action = Request::any('action');
- if ($action === 'deviceList') {
- $this->ajaxDeviceList();
- } elseif ($action === 'loadConfig') {
- $id = Request::any('id', 0, 'int');
- $this->ajaxConfig($id);
- } elseif ($action === 'loadDaemonConfig') {
- $id = Request::any('id', 0, 'int');
- $this->ajaxDaemonConfig($id);
- } elseif ($action === 'loadRulesConfig') {
- $id = Request::any('id', 0, 'int');
- $this->ajaxRulesConfig($id);
- } elseif ($action === 'genericRuleBuilder') {
- $this->ajaxGenericRuleBuilder();
+ private function loadRulesConfig($id) {
+ $rulesConf = null;
+
+ if ($id == 0) {
+ $currentdir = getcwd();
+
+ $rulesConf = file_get_contents($currentdir . '/modules/usblockoff/inc/default-configs/rules.conf');
+ } else {
+ $dbquery = Database::queryFirst("SELECT * FROM `usb_configs` WHERE configid=:id", array('id' => $id));
+ $rulesConf = $dbquery['rulesconfig'];
}
+
+ return Render::parse('usb-rules-config', array(
+ 'rules' => $rulesConf,
+ ));
}
- private function ajaxDaemonConfig($id)
+ private function loadDaemonConfig($id)
{
$form = array();
$rulesConf = null;
@@ -182,28 +190,30 @@ class Page_usblockoff extends Page
}
}
- echo Render::parse('usb-daemon-config', array(
+ return Render::parse('usb-daemon-config', array(
'list' => array_values($form),
));
}
- private function ajaxRulesConfig($id) {
- $rulesConf = null;
-
- if ($id == 0) {
- $currentdir = getcwd();
-
- $rulesConf = file_get_contents($currentdir . '/modules/usblockoff/inc/default-configs/rules.conf');
- } else {
- $dbquery = Database::queryFirst("SELECT * FROM `usb_configs` WHERE configid=:id", array('id' => $id));
- $rulesConf = $dbquery['rulesconfig'];
+ /**
+ * AJAX
+ */
+ protected function doAjax()
+ {
+ User::load();
+ if (!User::isLoggedIn()) {
+ die('Unauthorized');
+ }
+ $action = Request::any('action');
+ if ($action === 'deviceList') {
+ $this->ajaxDeviceList();
+ } elseif ($action === 'genericRuleBuilder') {
+ $this->ajaxGenericRuleBuilder();
}
-
- echo Render::parse('usb-rules-config', array(
- 'rules' => $rulesConf,
- ));
}
+
+
private function ajaxGenericRuleBuilder() {
$settings = array();