luci.util.perror(message)
if not context.template_header_sent then
luci.http.status(500, "Internal Server Error")
+ luci.http.prepare_content("text/plain")
+ luci.http.write(message)
else
require("luci.template")
if not luci.util.copcall(luci.template.render, "error500", {message=message}) then
ctx.urltoken = ctx.urltoken or {}
local conf = require "luci.config"
+ assert(conf.main,
+ "/etc/config/luci seems to be corrupt, unable to find section 'main'")
+
local lang = conf.main.lang
if lang == "auto" then
local aclang = http.getenv("HTTP_ACCEPT_LANGUAGE") or ""
local state = nil
for i, res in ipairs(maps) do
- if config.autoapply then
- res.autoapply = config.autoapply
- end
+ res.flow = config
local cstate = res:parse()
if cstate and (not state or cstate < state) then
state = cstate
local pageaction = true
http.header("X-CBI-State", state or 0)
- tpl.render("cbi/header", {state = state})
+ if not config.noheader then
+ tpl.render("cbi/header", {state = state})
+ end
for i, res in ipairs(maps) do
res:render()
if res.pageaction == false then
pageaction = false
end
end
- tpl.render("cbi/footer", {pageaction=pageaction, state = state, autoapply = config.autoapply})
+ if not config.nofooter then
+ tpl.render("cbi/footer", {flow = config, pageaction=pageaction, state = state, autoapply = config.autoapply})
+ end
end
--- Create a CBI model dispatching target.