diff options
Diffstat (limited to 'dansguardian-controller.lua')
-rw-r--r-- | dansguardian-controller.lua | 56 |
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 + |