treewide: avoid double-escaping CBI section labels
authorJo-Philipp Wich <jo@mein.io>
Tue, 12 Feb 2019 07:32:02 +0000 (08:32 +0100)
committerJo-Philipp Wich <jo@mein.io>
Tue, 12 Feb 2019 07:35:02 +0000 (08:35 +0100)
Since the section labels are already HTML-escaped implicitely by the
striptags() function, we must not escape them again in attr() or
ifattr().

Fixes: #2524
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit eda8f02dac3caa4d0f52cd1e860d7a392c295df3)

applications/luci-app-adblock/luasrc/view/adblock/blocklist.htm
modules/luci-base/luasrc/view/cbi/cell_valueheader.htm
modules/luci-base/luasrc/view/cbi/tblsection.htm

index a6f2286513ed86df0cf85de7213ee3854e4b6ead..a76c98012cee7054d19bc6bde2176d0a9c750370 100644 (file)
@@ -62,7 +62,7 @@ local anonclass  = (not self.anonymous or self.sectiontitle) and "named" or "ano
                                for i, k in ipairs(self:cfgsections()) do
                                        section = k
                                        local sectionname  = striptags((type(self.sectiontitle) == "function") and self:sectiontitle(section) or k)
-                                       local sectiontitle = ifattr(sectionname and (not self.anonymous or self.sectiontitle), "data-title", sectionname)
+                                       local sectiontitle = ifattr(sectionname and (not self.anonymous or self.sectiontitle), "data-title", sectionname, true)
                                        isempty = false
                                        scope = { valueheader = "cbi/cell_valueheader", valuefooter = "cbi/cell_valuefooter" }
                        -%>
index ea0568f4097e490b4163c884412ad7a9b02e1be5..cb11d8f61a1a884ffe532381dd34780509cd6398 100644 (file)
@@ -6,7 +6,7 @@
 <div class="td cbi-value-field<% if self.error and self.error[section] then %> cbi-value-error<% end %>"<%=
        attr("data-name", self.option) ..
        ifattr(ftype and #ftype > 0, "data-type", ftype) ..
-       ifattr(title and #title > 0, "data-title", title) ..
-       ifattr(descr and #descr > 0, "data-description", descr)
+       ifattr(title and #title > 0, "data-title", title, true) ..
+       ifattr(descr and #descr > 0, "data-description", descr, true)
 %>>
 <div id="cbi-<%=self.config.."-"..section.."-"..self.option%>" data-index="<%=self.index%>" data-depends="<%=pcdata(self:deplist2json(section))%>">
index 408dfa7fe807feed7f4dd654dea7dd427f566408..11c2206d8ca1b794f868c7d87f3b18ed82d70018 100644 (file)
@@ -127,7 +127,7 @@ end
                                section = k
 
                                local sectionname = striptags((type(self.sectiontitle) == "function") and self:sectiontitle(section) or k)
-                               local sectiontitle = ifattr(sectionname and (not self.anonymous or self.sectiontitle), "data-title", sectionname)
+                               local sectiontitle = ifattr(sectionname and (not self.anonymous or self.sectiontitle), "data-title", sectionname, true)
                                local colorclass = (self.extedit or self.rowcolors) and rowstyle() or ""
                                local scope = {
                                        valueheader = "cbi/cell_valueheader",