local json = require("luci.jsonc")
local adbinput = uci:get("adblock", "global", "adb_rtfile") or "/tmp/adb_runtime.json"
-if not uci:get("adblock", "extra") then
- m = SimpleForm("", nil, translate("Please update your adblock config file to use this package.<br />")
- .. translatef("During opkg package installation use the '--force-maintainer' option to overwrite the pre-existing config file or download a fresh default config from "
- .. "<a href=\"%s\" target=\"_blank\">"
- .. "here</a>", "https://raw.githubusercontent.com/openwrt/packages/master/net/adblock/files/adblock.conf"))
- m.submit = false
- m.reset = false
- return m
-end
-
m = Map("adblock", translate("Adblock"),
translate("Configuration of the adblock package to block ad/abuse domains by using DNS. ")
.. translatef("For further information "
-- Blocklist table
bl = m:section(TypedSection, "source", translate("Blocklist Sources"),
- translate("Available blocklist sources. ")
- .. translate("List URLs and Shallalist category selections are configurable in the 'Advanced' section.<br />")
- .. translate("Caution: To prevent OOM exceptions on low memory devices with less than 64 MB free RAM, please do not select more than five blocklist sources!"))
+ translate("<b>Caution:</b> To prevent OOM exceptions on low memory devices with less than 64 MB free RAM, please only select a few of them!"))
bl.template = "adblock/blocklist"
name = bl:option(Flag, "enabled", translate("Enabled"))
return translate("No")
end
end
+
des = bl:option(DummyValue, "adb_src_desc", translate("Description"))
+cat = bl:option(DynamicList, "adb_src_cat", translate("Categories"))
+cat.datatype = "uciname"
+cat.optional = true
+
-- Extra options
e = m:section(NamedSection, "extra", "adblock", translate("Extra Options"),
-%>
<style type="text/css">
-<!--
+table.cbi-section-table th,
+table.cbi-section-table td,
.cbi-section-table-cell,
-.cbi-section-table-row
+.cbi-section-table-row,
+.cbi-input-text
{
text-align:left;
+ vertical-align:top;
margin-right:auto;
margin-left:0px;
}
--->
+.cbi-input-text
+{
+ outline:none;
+ box-shadow:none;
+ background:transparent;
+ padding-left:2px;
+ line-height:25px;
+ height:25px;
+ width:10em;
+}
</style>
<fieldset class="cbi-section" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
<%- end %>
<div class="cbi-section-descr"><%=self.description%></div>
<div class="cbi-section-node">
- <%- local count = 0 -%>
<table class="cbi-section-table">
<tr class="cbi-section-table-titles">
<%- if self.sectionhead then -%>
<th class="cbi-section-table-cell"<%=width(k)%>>
<%-=k.title-%>
</th>
- <%- count = count + 1; end; -%>
+ <%- end -%>
</tr>
<%- local isempty = true
for i, k in ipairs(self:cfgsections()) do
scope = { valueheader = "cbi/cell_valueheader", valuefooter = "cbi/cell_valuefooter" }
-%>
<tr class="cbi-section-table-row" id="cbi-<%=self.config%>-<%=section%>">
- <th><%=k%></th>
+ <th><%=k%></th>
<%-
for k, node in ipairs(self.children) do
- if not node.optional then
- node:render(section, scope or {})
- end
+ node:render(section, scope or {})
end
+ if not scope.cbid:match("adb_src_cat") then
-%>
- </tr>
- <%- end -%>
- <%- if isempty then -%>
- <tr class="cbi-section-table-row">
- <td colspan="<%=count%>"><em><br /><%:This section contains no values yet%></em></td>
+ <td class="cbi-value-field"> </td>
+ <%- end -%>
</tr>
<%- end -%>
</table>