luci-app-adblock: major update
[project/luci.git] / applications / luci-app-adblock / luasrc / model / cbi / adblock / configuration_tab.lua
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
new file mode 100644 (file)
index 0000000..035b99e
--- /dev/null
@@ -0,0 +1,36 @@
+-- Copyright 2016 Hannu Nyman
+-- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- This is free software, licensed under the Apache License, Version 2.0
+
+local fs = require("nixio.fs")
+local util = require("luci.util")
+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."))
+       return m
+end
+
+m = SimpleForm("input", nil)
+       m:append(Template("adblock/config_css"))
+
+s = m:section(SimpleSection, nil,
+translate("This form allows you to modify the content of the main adblock configuration file (/etc/config/adblock)."))
+
+f = s:option(TextValue, "data")
+       f.rmempty = true
+       f.rows = 20
+
+       function f.cfgvalue()
+               return nixio.fs.readfile(adbinput) or ""
+       end
+
+       function f.write(self, section, data)
+               return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
+       end
+
+       function s.handle(self, state, data)
+               return true
+       end
+
+return m