if user and luci.sys.user.checkpasswd(user, pass) then
local sid = luci.sys.uniqueid(16)
- luci.http.header("Set-Cookie", "sysauth=" .. sid)
+ luci.http.header("Set-Cookie", "sysauth=" .. sid.."; path=/")
luci.sauth.write(sid, user)
return true
else
-- Reassigns a node to another position
function assign(path, clone, title, order)
- local obj = node(path)
+ local obj = node(unpack(path))
obj.nodes = nil
obj.module = nil
-- Shortcut for creating a dispatching node
function entry(path, target, title, order)
- local c = node(path)
+ local c = node(unpack(path))
c.target = target
c.title = title
function node(...)
local c = context.tree
arg.n = nil
- if arg[1] then
- if type(arg[1]) == "table" then
- arg = arg[1]
- end
- end
for k,v in ipairs(arg) do
if not c.nodes[v] then
require("luci.template")
return function()
- local stat, res = luci.util.copcall(luci.cbi.load, model)
+ local stat, maps = luci.util.copcall(luci.cbi.load, model)
if not stat then
- error500(res)
+ error500(maps)
return true
end
- local stat, err = luci.util.copcall(res.parse, res)
- if not stat then
- error500(err)
- return true
+ for i, res in ipairs(maps) do
+ local stat, err = luci.util.copcall(res.parse, res)
+ if not stat then
+ error500(err)
+ return true
+ end
end
luci.template.render("cbi/header")
- res:render()
+ for i, res in ipairs(maps) do
+ res:render()
+ end
luci.template.render("cbi/footer")
end
end