for i, s in ipairs(request) do
c = c.nodes[s]
- if not c then
+ if not c or c.leaf then
break
end
tpl.viewns.media = luci.config.main.mediaurlbase
tpl.viewns.resource = luci.config.main.resourcebase
- -- Load default translation
- require("luci.i18n").loadc("default")
-
if c and type(c.target) == "function" then
dispatched = c
local path = luci.sys.libpath() .. "/controller/"
local suff = ".lua"
- if pcall(require, "fastindex") then
+ --[[if pcall(require, "fastindex") then
createindex_fastindex(path, suff)
else
createindex_plain(path, suff)
- end
+ end]]--
+
+ createindex_plain(path, suff)
built_index = true
end
end
require("luci.i18n")
+
+ -- Load default translation
+ luci.i18n.loadc("default")
+
+ local scope = _G
+ for k,v in pairs(_M) do
+ if type(v) == "function" then
+ scope[k] = v
+ end
+ end
for k, v in pairs(index) do
- luci.util.updfenv(v, _M)
- luci.util.extfenv(v, "_NAME", k)
+ scope._NAME = k
+ setfenv(v, scope)
local stat, err = pcall(v)
if not stat then
end
end
+function rewrite(n, ...)
+ local req = arg
+ return function()
+ for i=1,n do
+ table.remove(request, 1)
+ end
+
+ for i,r in ipairs(req) do
+ table.insert(request, i, r)
+ end
+
+ dispatch()
+ end
+end
+
function call(name)
return function() getfenv()[name]() end
end