summaryrefslogtreecommitdiffhomepage
path: root/libs/cbi/luasrc/cbi.lua
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2008-09-03 22:51:27 +0000
committerSteven Barth <steven@midlink.org>2008-09-03 22:51:27 +0000
commit34ab619ee3dd9fd04a4198288540e3a7a19aadf6 (patch)
tree6bf55739fa1806b86e1e0e3d92c47c5d2a44d304 /libs/cbi/luasrc/cbi.lua
parentccd792c4d1408223a9ad0bc545ba50bffbbb4c20 (diff)
libs/cbi: Compatibility changes for non-standards-compliant browsers
Diffstat (limited to 'libs/cbi/luasrc/cbi.lua')
-rw-r--r--libs/cbi/luasrc/cbi.lua10
1 files changed, 7 insertions, 3 deletions
diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua
index ebc23e0955..fb0355e91f 100644
--- a/libs/cbi/luasrc/cbi.lua
+++ b/libs/cbi/luasrc/cbi.lua
@@ -52,7 +52,7 @@ function load(cbimap, ...)
require("luci.util")
local cbidir = luci.util.libpath() .. "/model/cbi/"
- local func, err = loadfile(cbidir..cbimap..".lua")
+ local func, err = loadfile(cbimap) or loadfile(cbidir..cbimap..".lua")
assert(func, err)
luci.i18n.loadc("cbi")
@@ -711,6 +711,9 @@ function TypedSection.parse(self)
local crval = REMOVE_PREFIX .. self.config
local name = luci.http.formvaluetable(crval)
for k,v in pairs(name) do
+ if k:sub(-2) == ".x" then
+ k = k:sub(1, #k - 2)
+ end
if self:cfgvalue(k) and self:checkscope(k) then
self:remove(k)
end
@@ -1211,8 +1214,9 @@ function DynamicList.validate(self, value, section)
local valid = {}
for i, v in ipairs(value) do
- if v and #v > 0 and
- not luci.http.formvalue("cbi.rle."..section.."."..self.option.."."..i) then
+ if v and #v > 0
+ and not luci.http.formvalue("cbi.rle."..section.."."..self.option.."."..i)
+ and not luci.http.formvalue("cbi.rle."..section.."."..self.option.."."..i..".x") then
table.insert(valid, v)
end
end