diff options
Diffstat (limited to 'applications/luci-splash/luasrc/controller')
-rw-r--r-- | applications/luci-splash/luasrc/controller/splash/splash.lua | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/applications/luci-splash/luasrc/controller/splash/splash.lua b/applications/luci-splash/luasrc/controller/splash/splash.lua new file mode 100644 index 0000000000..544f1e89ea --- /dev/null +++ b/applications/luci-splash/luasrc/controller/splash/splash.lua @@ -0,0 +1,30 @@ +module("luci.controller.splash.splash", package.seeall) + +function index() + local page = node("admin", "services", "splash") + page.target = cbi("splash/splash") + page.title = "Client-Splash" + + node("splash", "splash", "activate").target = action_activate + node("splash", "splash", "allowed").target = action_allowed + node("splash", "splash", "unknown").target = action_unknown + node("splash", "splash", "splash").target = template("splash_splash/splash") +end + +function action_activate() + local mac = luci.sys.net.ip4mac(luci.http.env.REMOTE_ADDR) + if mac and luci.http.formvalue("accept") then + os.execute("luci-splash add "..mac.." >/dev/null 2>&1") + luci.http.redirect(luci.model.uci.get("freifunk", "community", "homepage")) + 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 |