summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-splash/luasrc/controller/splash/splash.lua
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-splash/luasrc/controller/splash/splash.lua')
-rw-r--r--applications/luci-splash/luasrc/controller/splash/splash.lua25
1 files changed, 12 insertions, 13 deletions
diff --git a/applications/luci-splash/luasrc/controller/splash/splash.lua b/applications/luci-splash/luasrc/controller/splash/splash.lua
index 617e0f877..6512ee5b1 100644
--- a/applications/luci-splash/luasrc/controller/splash/splash.lua
+++ b/applications/luci-splash/luasrc/controller/splash/splash.lua
@@ -1,16 +1,23 @@
module("luci.controller.splash.splash", package.seeall)
function index()
- local page = node("admin", "services", "splash")
- page.target = cbi("splash/splash")
- page.title = "Client-Splash"
+ entry({"admin", "services", "splash"}, cbi("splash/splash"), "Client-Splash")
+ node("splash").target = call("action_dispatch")
node("splash", "splash", "activate").target = call("action_activate")
- node("splash", "splash", "allowed").target = call("action_allowed")
- node("splash", "splash", "unknown").target = call("action_unknown")
node("splash", "splash", "splash").target = template("splash_splash/splash")
end
+function action_dispatch()
+ local mac = luci.sys.net.ip4mac(luci.http.getenv("REMOTE_ADDR"))
+ local status = luci.sys.execl("luci-splash status "..mac)[1]
+ if status == "whitelisted" or status == "lease" then
+ luci.http.redirect(luci.dispatcher.build_url())
+ else
+ luci.http.redirect(luci.dispatcher.build_url("splash", "splash", "splash"))
+ end
+end
+
function action_activate()
local mac = luci.sys.net.ip4mac(luci.http.getenv("REMOTE_ADDR"))
if mac and luci.http.formvalue("accept") then
@@ -19,12 +26,4 @@ function action_activate()
else
luci.http.redirect(luci.dispatcher.build_url())
end
-end
-
-function action_allowed()
- luci.http.redirect(luci.dispatcher.build_url())
-end
-
-function action_unknown()
- luci.http.redirect(luci.dispatcher.build_url())
end \ No newline at end of file