summaryrefslogtreecommitdiffstats
path: root/dansguardian-controller.lua
diff options
context:
space:
mode:
Diffstat (limited to 'dansguardian-controller.lua')
-rw-r--r--dansguardian-controller.lua56
1 files changed, 56 insertions, 0 deletions
diff --git a/dansguardian-controller.lua b/dansguardian-controller.lua
index db72884..3259f8c 100644
--- a/dansguardian-controller.lua
+++ b/dansguardian-controller.lua
@@ -66,6 +66,30 @@ general = function( self )
return ( cfe ({ option = option, service = service }) )
end
+advanced = function( self )
+
+ local option = { script = ENV["SCRIPT_NAME"],
+ prefix = self.conf.prefix,
+ controller = self.conf.controller,
+ action = self.conf.action,
+ extra = ""
+ }
+
+ local service = { message="", status="", config="" }
+
+ if self.clientdata.srvcmd then
+ srvcmd = self.clientdata.srvcmd
+ if srvcmd == "start" or srvcmd == "stop" or srvcmd == "restart" then
+ service.message = self.model.service_control( srvcmd )
+ end
+ end
+
+ service.status = self.model.get_status()
+ service.config, service.cfgerr = self.model.get_advanced_config()
+
+ return ( cfe ({ option = option, service = service }) )
+end
+
plain = function( self )
local option = { script = ENV["SCRIPT_NAME"],
@@ -98,3 +122,35 @@ plain = function( self )
return ( cfe ({ option = option, service = service }) )
end
+edit = function( self )
+
+ if not self.clientdata.name then
+ list_redir( self )
+ end
+
+ local option = { script = ENV["SCRIPT_NAME"],
+ prefix = self.conf.prefix,
+ controller = self.conf.controller,
+ action = self.conf.action,
+ extra = ""
+ }
+
+ local service = { message="", status="", config="" }
+
+ if self.clientdata.cmd then
+ if self.clientdata.cmd == "save" then
+ self.model.update_edit_config( self.clientdata.name, self.clientdata.config )
+ end
+ end
+
+ service.status = self.model.get_status()
+ service.config, service.cfgerr = self.model.get_edit_config( self.clientdata.name )
+ service.name = self.clientdata.name
+
+ if service.cfgerr == "Hacker" then
+ list_redir( self )
+ end
+
+ return ( cfe ({ option = option, service = service }) )
+end
+