diff options
author | Dirk Brenken <dev@brenken.org> | 2017-05-08 11:15:19 +0200 |
---|---|---|
committer | Dirk Brenken <dev@brenken.org> | 2017-05-08 11:15:19 +0200 |
commit | 9b4b1dfebdf6818231898a7f4fb80774bc106e26 (patch) | |
tree | e708ee7e453ecfe74c26a9eb222658b876311a29 /applications/luci-app-adblock/luasrc/model | |
parent | 2dd0bae8053efc93049b02a5d9e5854f4a158c79 (diff) |
luci-app-adblock: sync with adblock 2.6.3
* Limit Blacklist/Whitelist Online editing to max. 512 KB, approx.
20.000 domains per list
* Automatically refresh the overview page after button onclick event,
e.g. 'Suspend/Resume' or 'Save & Apply'
* cosmetics
Signed-off-by: Dirk Brenken <dev@brenken.org>
Diffstat (limited to 'applications/luci-app-adblock/luasrc/model')
4 files changed, 36 insertions, 7 deletions
diff --git a/applications/luci-app-adblock/luasrc/model/cbi/adblock/blacklist_tab.lua b/applications/luci-app-adblock/luasrc/model/cbi/adblock/blacklist_tab.lua index d540c77d10..722b23f205 100644 --- a/applications/luci-app-adblock/luasrc/model/cbi/adblock/blacklist_tab.lua +++ b/applications/luci-app-adblock/luasrc/model/cbi/adblock/blacklist_tab.lua @@ -7,7 +7,19 @@ local uci = require("uci") local adbinput = uci.get("adblock", "blacklist", "adb_src" or "/etc/adblock/adblock.blacklist") if not nixio.fs.access(adbinput) then - m = SimpleForm("error", nil, translate("Input file not found, please check your configuration.")) + m = SimpleForm("error", nil, + translate("Input file not found. Please check your configuration.")) + m.reset = false + m.submit = false + return m +end + +if nixio.fs.stat(adbinput).size > 524288 then + m = SimpleForm("error", nil, + translate("The file size is too large for online editing in LuCI (> 512 KB). ") + .. translate("Please edit this file directly in a terminal session.")) + m.reset = false + m.submit = false return m end diff --git a/applications/luci-app-adblock/luasrc/model/cbi/adblock/configuration_tab.lua b/applications/luci-app-adblock/luasrc/model/cbi/adblock/configuration_tab.lua index 1b83c949e1..1607f1440a 100644 --- a/applications/luci-app-adblock/luasrc/model/cbi/adblock/configuration_tab.lua +++ b/applications/luci-app-adblock/luasrc/model/cbi/adblock/configuration_tab.lua @@ -7,6 +7,8 @@ local adbinput = "/etc/config/adblock" if not nixio.fs.access(adbinput) then m = SimpleForm("error", nil, translate("Input file not found, please check your configuration.")) + m.reset = false + m.submit = false return m end diff --git a/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua b/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua index d2740f4daf..f71fb7ba4d 100644 --- a/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua +++ b/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua @@ -12,12 +12,14 @@ local dnsFile2 = sys.exec("find '/var/lib/unbound/.adb_hidden' -maxdepth 1 -type m = Map("adblock", translate("Adblock"), translate("Configuration of the adblock package to block ad/abuse domains by using DNS. ") - .. translate("For further information ") - .. [[<a href="https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md" target="_blank">]] - .. translate("see online documentation") - .. [[</a>]] - .. translate(".")) -m.reset = false + .. translatef("For further information " + .. "<a href=\"%s\" target=\"_blank\">" + .. "see online documentation</a>", "https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md")) + +function m.on_after_commit(self) + luci.sys.call("/etc/init.d/adblock reload >/dev/null 2>&1") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "adblock")) +end -- Main adblock options @@ -34,6 +36,7 @@ if dnsFile1 ~= "" or dnsFile2 ~= "" then btn.disabled = false function btn.write() luci.sys.call("/etc/init.d/adblock resume >/dev/null 2>&1") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "adblock")) end else btn.inputtitle = translate("Suspend adblock") @@ -41,6 +44,7 @@ else btn.disabled = false function btn.write() luci.sys.call("/etc/init.d/adblock suspend >/dev/null 2>&1") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "adblock")) end end diff --git a/applications/luci-app-adblock/luasrc/model/cbi/adblock/whitelist_tab.lua b/applications/luci-app-adblock/luasrc/model/cbi/adblock/whitelist_tab.lua index 23c99a9778..10a593859f 100644 --- a/applications/luci-app-adblock/luasrc/model/cbi/adblock/whitelist_tab.lua +++ b/applications/luci-app-adblock/luasrc/model/cbi/adblock/whitelist_tab.lua @@ -8,6 +8,17 @@ local adbinput = uci.get("adblock", "global", "adb_whitelist") or "/etc/adblock/ if not nixio.fs.access(adbinput) then m = SimpleForm("error", nil, translate("Input file not found, please check your configuration.")) + m.reset = false + m.submit = false + return m +end + +if nixio.fs.stat(adbinput).size > 524288 then + m = SimpleForm("error", nil, + translate("The file size is too large for online editing in LuCI (> 512 KB). ") + .. translate("Please edit this file directly in a terminal session.")) + m.reset = false + m.submit = false return m end |