-- the squid controller module (..., package.seeall) default_action = "status" status = function( self ) local info = { status=self.model.get_status(), version = self.model.get_dansguardian_version(), autostart = self.model.get_autostart(), srvctrl = { value = srvctrl} } local option = { script = self.conf.script, prefix = self.conf.prefix, controller = self.conf.controller, action = self.conf.action, extra = "" } return ( cfe ({ option = option, info = info }) ) end general = function( self ) local service = {} if self.clientdata.srvcmd then local srvcmd = self.clientdata.srvcmd if srvcmd == "start" or srvcmd == "stop" or srvcmd == "restart" then service.srvcmdresult, service.message = self.model.service_control( srvcmd ) end end local info = { status=self.model.get_status(), version = self.model.get_dansguardian_version(), autostart = self.model.get_autostart(), srvctrl = { value = srvctrl} } local option = { script = self.conf.script, prefix = self.conf.prefix, controller = self.conf.controller, action = self.conf.action, extra = "" } -- Add a cmd button to the view service.cmdsave = cfe({ name="cmdsave", label="Save/Apply above settings", value="Save", type="submit", }) if self.clientdata.cmdsave then local conf = self.clientdata local config = { filterip = conf.filterip, filterport = conf.filterport, proxyip = conf.proxyip, proxyport = conf.proxyport, accessdeniedaddress = conf.accessdeniedaddress, naughtynesslimit = conf.naughtynesslimit } self.model.update_general_config( config ) service.cmdsave.descr="* Changes has been saved!" end service.status = self.model.get_status() service.config, service.cfgerr = self.model.get_general_config() return ( cfe ({ option = option, service = service, info = info }) ) end advanced = function( self ) local service = {} if self.clientdata.srvcmd then local srvcmd = self.clientdata.srvcmd if srvcmd == "start" or srvcmd == "stop" or srvcmd == "restart" then service.srvcmdresult, service.message = self.model.service_control( srvcmd ) end end local info = { status=self.model.get_status(), version = self.model.get_dansguardian_version(), autostart = self.model.get_autostart(), srvctrl = { value = srvctrl} } local option = { script = self.conf.script, prefix = self.conf.prefix, controller = self.conf.controller, action = self.conf.action, extra = "" } service.status = self.model.get_status() service.config, service.cfgerr = self.model.get_advanced_config() return ( cfe ({ option = option, service = service, info = info }) ) end plain = function( self ) local service = {} if self.clientdata.srvcmd then local srvcmd = self.clientdata.srvcmd if srvcmd == "start" or srvcmd == "stop" or srvcmd == "restart" then service.srvcmdresult, service.message = self.model.service_control( srvcmd ) end end local option = { script = self.conf.script, prefix = self.conf.prefix, controller = self.conf.controller, action = self.conf.action, extra = "" } local info = { status=self.model.get_status(), version = self.model.get_dansguardian_version(), autostart = self.model.get_autostart(), srvctrl = { value = srvctrl} } -- Add a cmd button to the view service.cmdsave = cfe({ name="cmdsave", label="Save/Apply above settings", value="Save", type="submit", }) if self.clientdata.cmdsave then local conf = self.clientdata local config = conf.config self.model.update_plain_config( config ) service.cmdsave.descr="* Changes has been saved!" end service.status = self.model.get_status() service.config, service.cfgerr = self.model.get_plain_config() return ( cfe ({ option = option, service = service, info = info }) ) end edit = function( self ) if not self.clientdata.name then redirect( self ) end local option = { script = self.conf.script, 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 ) redirect( self, "advanced" ) 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 redirect( self ) end return ( cfe ({ option = option, service = service }) ) end category = function( self ) local service = { message="", status="", config="", cfgerr="" } if self.clientdata.srvcmd then local srvcmd = self.clientdata.srvcmd if srvcmd == "start" or srvcmd == "stop" or srvcmd == "restart" then service.srvcmdresult, service.message = self.model.service_control( srvcmd ) end end local info = { status=self.model.get_status(), version = self.model.get_dansguardian_version(), autostart = self.model.get_autostart(), srvctrl = { value = srvctrl} } local option = { script = self.conf.script, prefix = self.conf.prefix, controller = self.conf.controller, action = self.conf.action, extra = "" } -- Add a cmd button to the view service.cmdadd = cfe({ name="cmdadd", label="Action", value="Add", type="submit", }) service.cmdaddvalue = cfe({ name="cmdaddvalue", value="", type="text", }) service.config = {} service.config.categories = cfe({ name="categories", label="Categories available", value={}, }) service.config.categories = self.model.get_categories() return ( cfe ({ option = option, service = service, info = info }) ) end editcategories = function( self ) local info = self.model.get_category(self.clientdata.category, self.clientdata.object) if not (info) then redirect(self, "category") end -- Add a cmd button to the view info.cmdsave = cfe({ name="cmdsave", label="Save/Apply above settings", value="Save", type="submit", disabled="yes", errtxt="This button is not configured to work", }) info.cmddelete = cfe({ name="cmddelete", label="Permanently remove object", value="Delete", type="submit", disabled="yes", errtxt="This button is not configured to work", }) local option = { script = self.conf.script, prefix = self.conf.prefix, controller = self.conf.controller, action = self.conf.action, extra = "" } return ( cfe ({ option = option, info = info, mhdebug=self.clientdata }) ) end