From 40540257aec8d0a32ef68b499ea2fe6416199a19 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Mon, 29 Sep 2008 15:38:13 +0000 Subject: [PATCH] Fallback to working theme if selected one does not exist --- libs/web/luasrc/dispatcher.lua | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/libs/web/luasrc/dispatcher.lua b/libs/web/luasrc/dispatcher.lua index 236bc9c15..fc568969b 100644 --- a/libs/web/luasrc/dispatcher.lua +++ b/libs/web/luasrc/dispatcher.lua @@ -163,6 +163,18 @@ function dispatch(request) -- Init template engine if not track.notemplate then local tpl = require("luci.template") + local media = luci.config.main.mediaurlbase + 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=_G}) tpl.context.viewns = viewns viewns.write = luci.http.write @@ -170,7 +182,7 @@ function dispatch(request) viewns.translate = function(...) return require("luci.i18n").translate(...) end viewns.striptags = util.striptags viewns.controller = luci.http.getenv("SCRIPT_NAME") - viewns.media = luci.config.main.mediaurlbase + viewns.media = media viewns.resource = luci.config.main.resourcebase viewns.REQUEST_URI = (luci.http.getenv("SCRIPT_NAME") or "") .. (luci.http.getenv("PATH_INFO") or "") end -- 2.11.0