summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-splash/luasrc/controller/splash
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-splash/luasrc/controller/splash')
-rw-r--r--applications/luci-splash/luasrc/controller/splash/splash.lua30
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