From d212e531d5b2b5933676b3ec3004c2be60980f97 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Fri, 15 Aug 2008 18:18:16 +0000 Subject: [PATCH] Added missing value escaping Fixed a typo (wrong if-condition) Added support for Table objects in CBI --- libs/cbi/luasrc/cbi.lua | 30 +++++++++++++++++++--- modules/admin-full/luasrc/controller/admin/uci.lua | 2 +- .../admin-full/luasrc/view/admin_status/iwscan.htm | 2 +- modules/admin-mini/luasrc/controller/mini/uci.lua | 2 +- modules/admin-mini/luasrc/view/mini/iwscan.htm | 2 +- 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index ecc910a13..7bcfceb2e 100644 --- a/libs/cbi/luasrc/cbi.lua +++ b/libs/cbi/luasrc/cbi.lua @@ -479,6 +479,30 @@ function SimpleSection.__init__(self, form, ...) end +Table = class(AbstractSection) + +function Table.__init__(self, form, data, ...) + local datasource = {} + self.data = data + + function datasource.get(self, section, option) + return data[option] + end + + AbstractSection.__init__(self, datasource, nil, ...) +end + +function Table.cfgsections(self) + local sections = {} + + for i, v in pairs(self.data) do + table.insert(sections, i) + end + + return sections +end + + --[[ NamedSection - A fixed configuration section defined by its name @@ -707,7 +731,7 @@ function AbstractValue.parse(self, section) else -- Unset the UCI or error if self.rmempty or self.optional then self:remove(section) - elseif self.track_missing and not fvalue or fvalue ~= cvalue then + elseif self.track_missing and (not fvalue or fvalue ~= cvalue) then self.tag_missing[section] = true end end @@ -726,10 +750,10 @@ function AbstractValue.render(self, s, scope) if cond then return string.format( ' %s="%s"', tostring(key), - tostring( val + luci.util.pcdata(tostring( val or scope[key] or (type(self[key]) ~= "function" and self[key]) - or "" ) + or "" )) ) else return '' diff --git a/modules/admin-full/luasrc/controller/admin/uci.lua b/modules/admin-full/luasrc/controller/admin/uci.lua index 215889f85..c06683d71 100644 --- a/modules/admin-full/luasrc/controller/admin/uci.lua +++ b/modules/admin-full/luasrc/controller/admin/uci.lua @@ -34,7 +34,7 @@ function convert_changes(changes) val = "" else str = "" - val = "="..v + val = "="..luci.util.pcdata(v) end str = r.."."..s if o ~= ".type" then diff --git a/modules/admin-full/luasrc/view/admin_status/iwscan.htm b/modules/admin-full/luasrc/view/admin_status/iwscan.htm index cbba791e6..c0290d086 100644 --- a/modules/admin-full/luasrc/view/admin_status/iwscan.htm +++ b/modules/admin-full/luasrc/view/admin_status/iwscan.htm @@ -34,7 +34,7 @@ $Id$ %> <%=iface%> -<%=cell.ESSID%> +<%=luci.util.pcdata(cell.ESSID)%> <%=cell.Address%> <%=cell.Mode%> <%=(cell.Channel or cell.Frequency or "")%> diff --git a/modules/admin-mini/luasrc/controller/mini/uci.lua b/modules/admin-mini/luasrc/controller/mini/uci.lua index 4eceae629..5ba4f2949 100644 --- a/modules/admin-mini/luasrc/controller/mini/uci.lua +++ b/modules/admin-mini/luasrc/controller/mini/uci.lua @@ -34,7 +34,7 @@ function convert_changes(changes) val = "" else str = "" - val = "="..v + val = "="..luci.util.pcdata(v) end str = r.."."..s if o ~= ".type" then diff --git a/modules/admin-mini/luasrc/view/mini/iwscan.htm b/modules/admin-mini/luasrc/view/mini/iwscan.htm index cbba791e6..c0290d086 100644 --- a/modules/admin-mini/luasrc/view/mini/iwscan.htm +++ b/modules/admin-mini/luasrc/view/mini/iwscan.htm @@ -34,7 +34,7 @@ $Id$ %> <%=iface%> -<%=cell.ESSID%> +<%=luci.util.pcdata(cell.ESSID)%> <%=cell.Address%> <%=cell.Mode%> <%=(cell.Channel or cell.Frequency or "")%> -- 2.11.0