diff options
Diffstat (limited to 'applications/luci-app-watchcat/luasrc')
-rw-r--r-- | applications/luci-app-watchcat/luasrc/controller/watchcat.lua | 22 | ||||
-rw-r--r-- | applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua | 64 |
2 files changed, 86 insertions, 0 deletions
diff --git a/applications/luci-app-watchcat/luasrc/controller/watchcat.lua b/applications/luci-app-watchcat/luasrc/controller/watchcat.lua new file mode 100644 index 0000000000..5eba5cdebb --- /dev/null +++ b/applications/luci-app-watchcat/luasrc/controller/watchcat.lua @@ -0,0 +1,22 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2012 Christian Gagneraud <chris@techworks.ie> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- + +module("luci.controller.watchcat", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/system") then + return + end + entry({"admin", "services", "watchcat"}, cbi("watchcat/watchcat"), _("Watchcat"), 90) +end diff --git a/applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua b/applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua new file mode 100644 index 0000000000..fd7038c87b --- /dev/null +++ b/applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua @@ -0,0 +1,64 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2012 Christian Gagneraud <chris@techworks.ie> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- + +m = Map("system", + translate("Watchcat"), + translate("Watchcat allows configuring a periodic reboot when the " .. + "Internet connection has been lost for a certain period of time." + )) + +s = m:section(TypedSection, "watchcat") +s.anonymous = true +s.addremove = true + +mode = s:option(ListValue, "mode", + translate("Operating mode")) +mode.default = "allways" +mode:value("ping", "Reboot on internet connection lost") +mode:value("allways", "Periodic reboot") + +forcedelay = s:option(Value, "forcedelay", + translate("Forced reboot delay"), + translate("When rebooting the system, the watchcat will trigger a soft reboot. " .. + "Entering a non zero value here will trigger a delayed hard reboot " .. + "if the soft reboot fails. Enter a number of seconds to enable, " .. + "use 0 to disable")) +forcedelay.datatype = "uinteger" +forcedelay.default = "0" + +period = s:option(Value, "period", + translate("Period"), + translate("In periodic mode, it defines the reboot period. " .. + "In internet mode, it defines the longest period of " .. + "time without internet access before a reboot is engaged." .. + "Default unit is seconds, you can use the " .. + "suffix 'm' for minutes, 'h' for hours or 'd' " .. + "for days")) + +pinghost = s:option(Value, "pinghosts", + translate("Ping host"), + translate("Host address to ping")) +pinghost.datatype = "host" +pinghost.default = "8.8.8.8" +pinghost:depends({mode="ping"}) + +pingperiod = s:option(Value, "pingperiod", + translate("Ping period"), + translate("How often to check internet connection. " .. + "Default unit is seconds, you can you use the " .. + "suffix 'm' for minutes, 'h' for hours or 'd' " .. + "for days")) +pingperiod:depends({mode="ping"}) + +return m |