diff options
Diffstat (limited to 'applications/luci-splash/luasrc')
5 files changed, 103 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 000000000..544f1e89e --- /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 diff --git a/applications/luci-splash/luasrc/model/cbi/splash/splash.lua b/applications/luci-splash/luasrc/model/cbi/splash/splash.lua new file mode 100644 index 000000000..6050ac8a0 --- /dev/null +++ b/applications/luci-splash/luasrc/model/cbi/splash/splash.lua @@ -0,0 +1,30 @@ +-- ToDo: Translate, Add descriptions and help texts +require("luci.model.uci") + +m = Map("luci_splash", "Client-Splash", [[Client-Splash ist das Freifunk Hotspot-Authentifizierungs-System.]]) + +s = m:section(NamedSection, "general", "core", "Allgemein") +s:option(Value, "leasetime", "Freigabezeit", "h") + +s = m:section(TypedSection, "iface", "Schnittstellen") +s.addremove = true +s.anonymous = true + +iface = s:option(ListValue, "network", "Schnittstelle") +for k, v in pairs(luci.model.uci.sections("network")) do + if v[".type"] == "interface" and k ~= "loopback" then + iface:value(k) + end +end + +s = m:section(TypedSection, "whitelist", "Automatische Freigabe") +s.addremove = true +s.anonymous = true +s:option(Value, "mac", "MAC-Adresse") + +s = m:section(TypedSection, "blacklist", "Automatische Sperrung") +s.addremove = true +s.anonymous = true +s:option(Value, "mac", "MAC-Adresse") + +return m
\ No newline at end of file diff --git a/applications/luci-splash/luasrc/view/splash/splash.htm b/applications/luci-splash/luasrc/view/splash/splash.htm new file mode 100644 index 000000000..22631e08f --- /dev/null +++ b/applications/luci-splash/luasrc/view/splash/splash.htm @@ -0,0 +1,34 @@ +<% +local c = luci.model.uci.sections("freifunk").community + +<h1><%:welcome Willkommen%>!</h1> +<p> +Du bist jetzt mit dem freien Funknetz +<a href="<%=c.homepage%>"><%=c.name%></a> verbunden.<br /> +Wir sind ein experimentelles Gemeinschaftsnetzwerk, aber kein Internetanbieter. +</p> + +<p> +Ein Zugang <strong>ins Internet</strong> ist trotzdem möglich, +da einige Freifunker ihre privaten Internetzugänge zur Verfügung stellen. +Diese Zugänge müssen sich hier alle teilen. +Bitte sei Dir dessen bewusst und verhalte Dich dementsprechend: +<ul> +<li>bitte <strong>keine Filesharing-Programme</strong> betreiben!</li> +<li>bitte <strong>keine unnötigen Downloads oder Streams</strong> starten!</li> +<li>bitte <strong>keine illegalen Aktivitäten</strong>!</li> +</ul> +</p> + +<p> +Wenn Du unsere Idee gut findest, kannst Du uns unterstützen: +<ul> +<li><a href="<%=c.homepage%>">Werde selbst Freifunker oder teile deinen Internetzugang!</a></li> +<li>Betreibe deine anderen WLAN-Geräte <em>NICHT</em> auf den Kanälen 1-5, diese stören oft unser Netz.</li> +</ul> +</p> + +<p> +Mit einem Klick auf <em><%:accept Annehmen%></em> kannst du für <%=c.leasetime%> Stunden +über unser Netz das Internet verwenden. Dann wirst du erneut aufgefordet, diese Bedingungen zu akzeptieren. +</p>
\ No newline at end of file diff --git a/applications/luci-splash/luasrc/view/splash_splash/index.htm b/applications/luci-splash/luasrc/view/splash_splash/index.htm new file mode 100644 index 000000000..75aa02658 --- /dev/null +++ b/applications/luci-splash/luasrc/view/splash_splash/index.htm @@ -0,0 +1,2 @@ +<%+header%> +<%+footer%>
\ No newline at end of file diff --git a/applications/luci-splash/luasrc/view/splash_splash/splash.htm b/applications/luci-splash/luasrc/view/splash_splash/splash.htm new file mode 100644 index 000000000..9c165802f --- /dev/null +++ b/applications/luci-splash/luasrc/view/splash_splash/splash.htm @@ -0,0 +1,7 @@ +<%+header%> +<%+splash/splash%> +<form method="get" action="<%=controller%>/splash/splash/activate"> + <input type="submit" value="<%:decline Ablehnen%>" /> + <input type="submit" name="accept" value="<%:accept Annehmen%>" /> +</form> +<%+footer%>
\ No newline at end of file |