summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--libs/web/luasrc/template.lua8
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/web/luasrc/template.lua b/libs/web/luasrc/template.lua
index e5a4884ce5..bc216e1b50 100644
--- a/libs/web/luasrc/template.lua
+++ b/libs/web/luasrc/template.lua
@@ -53,9 +53,11 @@ viewns = {
-- Compiles a given template into an executable Lua module
function compile(template)
-- Search all <% %> expressions (remember: Lua table indexes begin with #1)
- local function expr_add(command)
+ local function expr_add(ws1, skip1, command, skip2, ws2)
table.insert(expr, command)
- return "<%" .. tostring(#expr) .. "%>"
+ return ( skip1 and "" or ws1 ) ..
+ "<%" .. tostring(#expr) .. "%>" ..
+ ( skip2 and "" or ws2 )
end
-- As "expr" should be local, we have to assign it to the "expr_add" scope
@@ -63,7 +65,7 @@ function compile(template)
luci.util.extfenv(expr_add, "expr", expr)
-- Save all expressiosn to table "expr"
- template = template:gsub("<%%(.-)%%>", expr_add)
+ template = template:gsub("(%s*)<%%(%-?)(.-)(%-?)%%>(%s*)", expr_add)
local function sanitize(s)
s = luci.util.escape(s)