luci-app-simple-adblock: support for config auto-update
[project/luci.git] / applications / luci-app-simple-adblock / luasrc / controller / simple-adblock.lua
1 module("luci.controller.simple-adblock", package.seeall)
2 function index()
3 if nixio.fs.access("/etc/config/simple-adblock") then
4 entry({"admin", "services", "simple-adblock"}, cbi("simple-adblock"), _("Simple AdBlock")).acl_depends = { "luci-app-simple-adblock" }
5 entry({"admin", "services", "simple-adblock", "action"}, call("simple_adblock_action"), nil).leaf = true
6 end
7 end
8
9 function simple_adblock_action(name)
10 local packageName = "simple-adblock"
11 local http = require "luci.http"
12 local sys = require "luci.sys"
13 local uci = require "luci.model.uci".cursor()
14 local util = require "luci.util"
15 if name == "start" then
16 sys.init.start(packageName)
17 elseif name == "action" then
18 util.exec("/etc/init.d/" .. packageName .. " dl >/dev/null 2>&1")
19 elseif name == "stop" then
20 sys.init.stop(packageName)
21 elseif name == "enable" then
22 uci:set(packageName, "config", "enabled", "1")
23 uci:commit(packageName)
24 elseif name == "disable" then
25 uci:set(packageName, "config", "enabled", "0")
26 uci:commit(packageName)
27 end
28 http.prepare_content("text/plain")
29 http.write("0")
30 end