-- the hostname controller module (..., package.seeall) -- Cause an http redirect to our "read" action -- We use the self.conf table because it already has prefix,controller,etc -- The redir code is defined in the application error handler (acf-controller) local list_redir = function (self) self.conf.action = "read" self.conf.type = "redir" error (self.conf) end mvc={} mvc.on_load = function(self, parent) if (self.worker[self.conf.action] == nil ) or ( self.conf.action == "init" ) then self.worker[self.conf.action] = list_redir(self) end -- logit ("hostname.mvc.on_load activated") end read = function (self) -- FIXME: If return 1 rows go direct to that config-page return ( {conflistfiles = self.model:get_conflist(), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller, version = self.model:openvpn_version()} ) end server_config = function (self) local configname = self.clientdata.name or "" return ( {config = self.model:get_config(configname), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} ) end client_config = function (self) local configname = self.clientdata.name or "" return ( {config = self.model:get_config(configname), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} ) end pem_info = function (self) end status_info = function (self) local configname = self.clientdata.name or "" return ( {clientlist = self.model:clientlist(configname), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} ) end unknown_config = function (self) local filename = self.clientdata.name or "" local filecontent = self.clientdata.modifications or "" ---[[ if ( filecontent ~= "") then local me = ( {configfilecontent = self.model:update_filecontent(filename,filecontent), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller } ) if ( me.configfilecontent == nil ) then list_redir(self) else return me end else ---[=[ local me = ( {configfilecontent = self.model:get_filecontent(filename), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller } ) if ( me.configfilecontent == nil ) then list_redir(self) else return me end --]=] -- return ( {configfilecontent = self.model:get_filecontent(filename), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} ) end --]] end logfile = function (self) local configname = self.clientdata.name or "" -- FIXME: If return 0 rows, goto read return ( {logfilecontent = self.model:get_logfile(configname), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller } ) end