luci-app-adblock: sync with adblock 2.6.3 1157/head
authorDirk Brenken <dev@brenken.org>
Mon, 8 May 2017 09:15:19 +0000 (11:15 +0200)
committerDirk Brenken <dev@brenken.org>
Mon, 8 May 2017 09:15:19 +0000 (11:15 +0200)
* 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>
applications/luci-app-adblock/luasrc/controller/adblock.lua
applications/luci-app-adblock/luasrc/model/cbi/adblock/blacklist_tab.lua
applications/luci-app-adblock/luasrc/model/cbi/adblock/configuration_tab.lua
applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua
applications/luci-app-adblock/luasrc/model/cbi/adblock/whitelist_tab.lua

index b37fcd8891469b6b9b943291906ac9e6f2bb36d6..03b9fc20eb88b7baa4263470e3f8eab5dd5cfd7d 100644 (file)
@@ -13,7 +13,7 @@ function index()
                return
        end
        entry({"admin", "services", "adblock"}, firstchild(), _("Adblock"), 30).dependent = false
-       entry({"admin", "services", "adblock", "tab_from_cbi"}, cbi("adblock/overview_tab"), _("Overview"), 10).leaf = true
+       entry({"admin", "services", "adblock", "tab_from_cbi"}, cbi("adblock/overview_tab", {hideresetbtn=true, hidesavebtn=true}), _("Overview"), 10).leaf = true
        entry({"admin", "services", "adblock", "logfile"}, call("logread"), _("View Logfile"), 20).leaf = true
        entry({"admin", "services", "adblock", "advanced"}, firstchild(), _("Advanced"), 100)
        entry({"admin", "services", "adblock", "advanced", "blacklist"}, cbi("adblock/blacklist_tab"), _("Edit Blacklist"), 110).leaf = true
index d540c77d108b8b2d9105b5bde7138756ac847cc5..722b23f20543259bf7751dc48793528c92dd8d79 100644 (file)
@@ -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 (&gt; 512 KB). ")
+               .. translate("Please edit this file directly in a terminal session."))
+       m.reset = false
+       m.submit = false
        return m
 end
 
index 1b83c949e14723be249ea48a857e53e958d64977..1607f1440a6c959f4fd927d62138487102f977fe 100644 (file)
@@ -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
 
index d2740f4daf621abc9d26f20495629ca8ef4ca9e6..f71fb7ba4db0f29ab56a7d26d76e5e2d050413e4 100644 (file)
@@ -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
 
index 23c99a977826fbe590488179c48d321af0e2d41a..10a593859f5599e516560afc3144ca8e19f7b873 100644 (file)
@@ -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 (&gt; 512 KB). ")
+       .. translate("Please edit this file directly in a terminal session."))
+       m.reset = false
+       m.submit = false
        return m
 end