+ local media = track.mediaurlbase or luci.config.main.mediaurlbase
+ if not tpl.Template("themes/%s/header" % fs.basename(media)) then
+ --if not pcall(tpl.Template, "themes/%s/header" % fs.basename(media)) then
+ media = nil
+ for name, theme in pairs(luci.config.themes) do
+ if name:sub(1,1) ~= "." and pcall(tpl.Template,
+ "themes/%s/header" % fs.basename(theme)) then
+ media = theme
+ end
+ end
+ assert(media, "No valid theme found")
+ end
+
+ local viewns = setmetatable({}, {__index=function(table, key)
+ if key == "controller" then
+ return build_url()
+ elseif key == "REQUEST_URI" then
+ return build_url(unpack(ctx.requestpath))
+ else
+ return rawget(table, key) or _G[key]
+ end
+ end})