2021-04-19 16:52:04 +08:00

37 lines
1.3 KiB
Lua

module("luci.controller.xlnetacc",package.seeall)
function index()
if not nixio.fs.access("/etc/config/xlnetacc") then
return
end
entry({"admin", "services", "xlnetacc"}, firstchild(), _("XLNetAcc")).dependent = false
entry({"admin", "services", "xlnetacc", "general"}, cbi("xlnetacc"), _("Settings"), 1)
entry({"admin", "services", "xlnetacc", "log"}, template("xlnetacc/logview"), _("Log"), 2)
entry({"admin", "services", "xlnetacc", "status"}, call("action_status"))
entry({"admin", "services", "xlnetacc", "logdata"}, call("action_log"))
end
function action_status()
luci.http.prepare_content("application/json")
luci.http.write_json({
run_state=luci.sys.call("ps -w | grep xlnetacc.sh | grep -v grep >/dev/null")==0,
down_state=nixio.fs.readfile("/var/state/xlnetacc_down_state") or "",
up_state=nixio.fs.readfile("/var/state/xlnetacc_up_state") or ""
})
end
function action_log()
local uci=require "luci.model.uci".cursor()
local util=require "luci.util"
local log_data={}
log_data.syslog=util.trim(util.exec("logread | grep xlnetacc"))
if uci:get("xlnetacc","general","logging")~="0" then
log_data.client=nixio.fs.readfile("/var/log/xlnetacc.log") or ""
end
uci:unload("xlnetacc")
luci.http.prepare_content("application/json")
luci.http.write_json(log_data)
end