Merge pull request #1801 from dibdot/adblock
luci-app-adblock: respect SimpleForm size limit
This commit is contained in:
commit
72fe5dd703
3 changed files with 35 additions and 27 deletions
|
@ -1,22 +1,21 @@
|
||||||
-- Copyright 2017 Dirk Brenken (dev@brenken.org)
|
-- Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
|
||||||
-- This is free software, licensed under the Apache License, Version 2.0
|
-- This is free software, licensed under the Apache License, Version 2.0
|
||||||
|
|
||||||
local fs = require("nixio.fs")
|
local fs = require("nixio.fs")
|
||||||
local util = require("luci.util")
|
local util = require("luci.util")
|
||||||
local uci = require("luci.model.uci").cursor()
|
local uci = require("luci.model.uci").cursor()
|
||||||
local adbinput = uci:get("adblock", "blacklist", "adb_src") or "/etc/adblock/adblock.blacklist"
|
local adbinput = uci:get("adblock", "blacklist", "adb_src") or "/etc/adblock/adblock.blacklist"
|
||||||
|
|
||||||
if not nixio.fs.access(adbinput) then
|
if not fs.access(adbinput) then
|
||||||
m = SimpleForm("error", nil,
|
m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
|
||||||
translate("Input file not found, please check your configuration."))
|
|
||||||
m.reset = false
|
m.reset = false
|
||||||
m.submit = false
|
m.submit = false
|
||||||
return m
|
return m
|
||||||
end
|
end
|
||||||
|
|
||||||
if nixio.fs.stat(adbinput).size > 524288 then
|
if fs.stat(adbinput).size >= 102400 then
|
||||||
m = SimpleForm("error", nil,
|
m = SimpleForm("error", nil,
|
||||||
translate("The file size is too large for online editing in LuCI (> 512 KB). ")
|
translate("The file size is too large for online editing in LuCI (≥ 100 KB). ")
|
||||||
.. translate("Please edit this file directly in a terminal session."))
|
.. translate("Please edit this file directly in a terminal session."))
|
||||||
m.reset = false
|
m.reset = false
|
||||||
m.submit = false
|
m.submit = false
|
||||||
|
@ -38,11 +37,11 @@ f.rows = 20
|
||||||
f.rmempty = true
|
f.rmempty = true
|
||||||
|
|
||||||
function f.cfgvalue()
|
function f.cfgvalue()
|
||||||
return nixio.fs.readfile(adbinput) or ""
|
return fs.readfile(adbinput) or ""
|
||||||
end
|
end
|
||||||
|
|
||||||
function f.write(self, section, data)
|
function f.write(self, section, data)
|
||||||
return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
|
return fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
|
||||||
end
|
end
|
||||||
|
|
||||||
function s.handle(self, state, data)
|
function s.handle(self, state, data)
|
||||||
|
|
|
@ -1,17 +1,26 @@
|
||||||
-- Copyright 2017 Dirk Brenken (dev@brenken.org)
|
-- Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
|
||||||
-- This is free software, licensed under the Apache License, Version 2.0
|
-- This is free software, licensed under the Apache License, Version 2.0
|
||||||
|
|
||||||
local fs = require("nixio.fs")
|
local fs = require("nixio.fs")
|
||||||
local util = require("luci.util")
|
local util = require("luci.util")
|
||||||
local adbinput = "/etc/config/adblock"
|
local adbinput = "/etc/config/adblock"
|
||||||
|
|
||||||
if not nixio.fs.access(adbinput) then
|
if not 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.reset = false
|
||||||
m.submit = false
|
m.submit = false
|
||||||
return m
|
return m
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if fs.stat(adbinput).size >= 102400 then
|
||||||
|
m = SimpleForm("error", nil,
|
||||||
|
translate("The file size is too large for online editing in LuCI (≥ 100 KB). ")
|
||||||
|
.. translate("Please edit this file directly in a terminal session."))
|
||||||
|
m.reset = false
|
||||||
|
m.submit = false
|
||||||
|
return m
|
||||||
|
end
|
||||||
|
|
||||||
m = SimpleForm("input", nil)
|
m = SimpleForm("input", nil)
|
||||||
m:append(Template("adblock/config_css"))
|
m:append(Template("adblock/config_css"))
|
||||||
m.submit = translate("Save")
|
m.submit = translate("Save")
|
||||||
|
@ -25,11 +34,11 @@ f.rows = 20
|
||||||
f.rmempty = true
|
f.rmempty = true
|
||||||
|
|
||||||
function f.cfgvalue()
|
function f.cfgvalue()
|
||||||
return nixio.fs.readfile(adbinput) or ""
|
return fs.readfile(adbinput) or ""
|
||||||
end
|
end
|
||||||
|
|
||||||
function f.write(self, section, data)
|
function f.write(self, section, data)
|
||||||
return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
|
return fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
|
||||||
end
|
end
|
||||||
|
|
||||||
function s.handle(self, state, data)
|
function s.handle(self, state, data)
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
-- Copyright 2017 Dirk Brenken (dev@brenken.org)
|
-- Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
|
||||||
-- This is free software, licensed under the Apache License, Version 2.0
|
-- This is free software, licensed under the Apache License, Version 2.0
|
||||||
|
|
||||||
local fs = require("nixio.fs")
|
local fs = require("nixio.fs")
|
||||||
local util = require("luci.util")
|
local util = require("luci.util")
|
||||||
local uci = require("luci.model.uci").cursor()
|
local uci = require("luci.model.uci").cursor()
|
||||||
local adbinput = uci:get("adblock", "global", "adb_whitelist") or "/etc/adblock/adblock.whitelist"
|
local adbinput = uci:get("adblock", "global", "adb_whitelist") or "/etc/adblock/adblock.whitelist"
|
||||||
|
|
||||||
if not nixio.fs.access(adbinput) then
|
if not 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.reset = false
|
||||||
m.submit = false
|
m.submit = false
|
||||||
return m
|
return m
|
||||||
end
|
end
|
||||||
|
|
||||||
if nixio.fs.stat(adbinput).size > 524288 then
|
if fs.stat(adbinput).size >= 102400 then
|
||||||
m = SimpleForm("error", nil,
|
m = SimpleForm("error", nil,
|
||||||
translate("The file size is too large for online editing in LuCI (> 512 KB). ")
|
translate("The file size is too large for online editing in LuCI (≥ 100 KB). ")
|
||||||
.. translate("Please edit this file directly in a terminal session."))
|
.. translate("Please edit this file directly in a terminal session."))
|
||||||
m.reset = false
|
m.reset = false
|
||||||
m.submit = false
|
m.submit = false
|
||||||
return m
|
return m
|
||||||
|
@ -37,11 +37,11 @@ f.rows = 20
|
||||||
f.rmempty = true
|
f.rmempty = true
|
||||||
|
|
||||||
function f.cfgvalue()
|
function f.cfgvalue()
|
||||||
return nixio.fs.readfile(adbinput) or ""
|
return fs.readfile(adbinput) or ""
|
||||||
end
|
end
|
||||||
|
|
||||||
function f.write(self, section, data)
|
function f.write(self, section, data)
|
||||||
return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
|
return fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
|
||||||
end
|
end
|
||||||
|
|
||||||
function s.handle(self, state, data)
|
function s.handle(self, state, data)
|
||||||
|
|
Loading…
Reference in a new issue