From: Steven Barth Date: Wed, 3 Sep 2008 22:51:27 +0000 (+0000) Subject: libs/cbi: Compatibility changes for non-standards-compliant browsers X-Git-Tag: 0.8.0~166 X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=34ab619ee3dd9fd04a4198288540e3a7a19aadf6 libs/cbi: Compatibility changes for non-standards-compliant browsers --- diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index ebc23e095..fb0355e91 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