libs/cbi: Compatibility changes for non-standards-compliant browsers
This commit is contained in:
parent
ccd792c4d1
commit
34ab619ee3
1 changed files with 7 additions and 3 deletions
|
@ -52,7 +52,7 @@ function load(cbimap, ...)
|
||||||
require("luci.util")
|
require("luci.util")
|
||||||
|
|
||||||
local cbidir = luci.util.libpath() .. "/model/cbi/"
|
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)
|
assert(func, err)
|
||||||
|
|
||||||
luci.i18n.loadc("cbi")
|
luci.i18n.loadc("cbi")
|
||||||
|
@ -711,6 +711,9 @@ function TypedSection.parse(self)
|
||||||
local crval = REMOVE_PREFIX .. self.config
|
local crval = REMOVE_PREFIX .. self.config
|
||||||
local name = luci.http.formvaluetable(crval)
|
local name = luci.http.formvaluetable(crval)
|
||||||
for k,v in pairs(name) do
|
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
|
if self:cfgvalue(k) and self:checkscope(k) then
|
||||||
self:remove(k)
|
self:remove(k)
|
||||||
end
|
end
|
||||||
|
@ -1211,8 +1214,9 @@ function DynamicList.validate(self, value, section)
|
||||||
|
|
||||||
local valid = {}
|
local valid = {}
|
||||||
for i, v in ipairs(value) do
|
for i, v in ipairs(value) do
|
||||||
if v and #v > 0 and
|
if v and #v > 0
|
||||||
not luci.http.formvalue("cbi.rle."..section.."."..self.option.."."..i) then
|
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)
|
table.insert(valid, v)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue