From: Jo-Philipp Wich Date: Sun, 30 Oct 2011 15:01:48 +0000 (+0000) Subject: luci-0.10: merge r7851 X-Git-Tag: 0.10.0~59 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=206146b65f5e4f2f1ed9bcccca92e19073c5178b;p=oweals%2Fluci.git luci-0.10: merge r7851 --- diff --git a/libs/web/luasrc/dispatcher.lua b/libs/web/luasrc/dispatcher.lua index fa78b2f65..911f2f4e9 100644 --- a/libs/web/luasrc/dispatcher.lua +++ b/libs/web/luasrc/dispatcher.lua @@ -284,13 +284,15 @@ function dispatch(request) assert(media, "No valid theme found") end - local function ifattr(cond, key, val) + local function _ifattr(cond, key, val) if cond then - local env = getfenv(1) + local env = getfenv(3) + local scope = (type(env.self) == "table") and env.self return string.format( ' %s="%s"', tostring(key), luci.util.pcdata(tostring( val or (type(env[key]) ~= "function" and env[key]) + or (scope and type(scope[key]) ~= "function" and scope[key]) or "" )) ) else @@ -308,8 +310,8 @@ function dispatch(request) media = media; theme = fs.basename(media); resource = luci.config.main.resourcebase; - ifattr = ifattr; - attr = function(...) return ifattr(true, ...) end + ifattr = function(...) return _ifattr(...) end; + attr = function(...) return _ifattr(true, ...) end; }, {__index=function(table, key) if key == "controller" then return build_url()