From: Steven Barth Date: Mon, 29 Sep 2008 15:39:01 +0000 (+0000) Subject: Fallback to working theme if selected one does not exist X-Git-Tag: 0.8.0~29 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=3768aadd9804d69badcfef94ee1d8b6278685440;p=project%2Fluci.git Fallback to working theme if selected one does not exist --- diff --git a/libs/web/luasrc/dispatcher.lua b/libs/web/luasrc/dispatcher.lua index 8e8e19063b..cbbb749210 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