Files
op-packages/luci-app-passwall2/luasrc/model/cbi/passwall2/server/server_config.lua
T

53 lines
1.2 KiB
Lua

api = require "luci.passwall2.api"
api.set_default_cbi()
m = Map(api.s_config)
m.redirect = api.url("server")
if not arg[1] or not m:get(arg[1]) then
luci.http.redirect(m.redirect)
end
m:appendTemplate("/server/config_header", {section = arg[1]})
m:appendTemplate("/cbi/nodes_listvalue_com")
user_list = {}
m:foreach("user", function(s)
user_list[#user_list + 1] = s
end)
local s = m:section(NamedSection, arg[1], "server", translate("Server Config"))
s.addremove = false
s.dynamic = false
local types_dir = "/usr/lib/lua/luci/model/cbi/" .. api.appname .. "/server/type/"
s.val = m:get(arg[1]) or {}
o = s:option(Flag, "enable", translate("Enable"))
o.default = "1"
o.rmempty = false
o = s:option(Value, "remarks", translate("Remarks"))
o.default = translate("Remarks")
o.rmempty = false
o = s:option(ListValue, "type", translate("Type"))
local type_table = {}
for filename in api.fs.dir(types_dir) do
table.insert(type_table, filename)
end
table.sort(type_table, function(a, b)
return a < b
end)
for index, value in ipairs(type_table) do
local p_func = loadfile(types_dir .. value)
setfenv(p_func, getfenv(1))(m, s)
end
m:appendTemplate("/server/config_footer", {section = arg[1]})
return api.return_map(m)