summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-splash
diff options
context:
space:
mode:
authorManuel Munz <freifunk@somakoma.de>2010-11-17 22:59:08 +0000
committerManuel Munz <freifunk@somakoma.de>2010-11-17 22:59:08 +0000
commit5da3e251c074b0c88e08bb0000518f6febee4744 (patch)
tree39a23e2dcfd07645ac8726d0458e856d9e9ad53c /applications/luci-splash
parentb05459541234cf4902a57dea0865185210140ad5 (diff)
Freifunk: Make the splash page editable
Diffstat (limited to 'applications/luci-splash')
-rwxr-xr-xapplications/luci-splash/ipkg/postinst1
-rw-r--r--applications/luci-splash/ipkg/postrm2
-rw-r--r--applications/luci-splash/luasrc/controller/splash/splash.lua6
-rw-r--r--applications/luci-splash/luasrc/model/cbi/splash/splashtext.lua36
-rw-r--r--applications/luci-splash/luasrc/view/splash/splash.htm67
-rw-r--r--applications/luci-splash/root/usr/lib/luci-splash/splashtext.html31
6 files changed, 109 insertions, 34 deletions
diff --git a/applications/luci-splash/ipkg/postinst b/applications/luci-splash/ipkg/postinst
index a87729e431..b35f1636e2 100755
--- a/applications/luci-splash/ipkg/postinst
+++ b/applications/luci-splash/ipkg/postinst
@@ -2,5 +2,6 @@
[ -n "${IPKG_INSTROOT}" ] || {
/etc/init.d/luci_splash enabled || /etc/init.d/luci_splash enable
+ uci set luci.flash_keep.splashtext="/usr/lib/luci-splash/splashtext.html";uci commit
exit 0
}
diff --git a/applications/luci-splash/ipkg/postrm b/applications/luci-splash/ipkg/postrm
new file mode 100644
index 0000000000..4c92415d94
--- /dev/null
+++ b/applications/luci-splash/ipkg/postrm
@@ -0,0 +1,2 @@
+#!/bin/sh
+uci del luci.flash_keep.splashtext;uci commit
diff --git a/applications/luci-splash/luasrc/controller/splash/splash.lua b/applications/luci-splash/luasrc/controller/splash/splash.lua
index 362ad9def4..27eff65796 100644
--- a/applications/luci-splash/luasrc/controller/splash/splash.lua
+++ b/applications/luci-splash/luasrc/controller/splash/splash.lua
@@ -1,7 +1,11 @@
module("luci.controller.splash.splash", package.seeall)
function index()
- entry({"admin", "services", "splash"}, cbi("splash/splash"), "Client-Splash")
+ require("luci.i18n")
+ luci.i18n.loadc("freifunk")
+
+ entry({"admin", "services", "splash"}, cbi("splash/splash"), luci.i18n.translate("Client-Splash"), 90)
+ entry({"admin", "services", "splash", "splashtext" }, form("splash/splashtext"), luci.i18n.translate("Splashtext"), 10)
node("splash").target = call("action_dispatch")
node("splash", "activate").target = call("action_activate")
diff --git a/applications/luci-splash/luasrc/model/cbi/splash/splashtext.lua b/applications/luci-splash/luasrc/model/cbi/splash/splashtext.lua
new file mode 100644
index 0000000000..5f75e80156
--- /dev/null
+++ b/applications/luci-splash/luasrc/model/cbi/splash/splashtext.lua
@@ -0,0 +1,36 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+Copyright 2010 Manuel Munz <freifunk@somakoma.de>
+
+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
+]]--
+
+local fs = require "nixio.fs"
+local splashtextfile = "/usr/lib/luci-splash/splashtext.html"
+
+f = SimpleForm("splashtext", translate("Edit Splash text"), translate("You can change the text that is displayed to clients here.<br /> It is possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, ###LEASETIME### and ###ACCEPT###.<br />Click here to <a href='/luci/splash/'>test the splash page</a> after you saved it."))
+
+t = f:field(TextValue, "text")
+t.rmempty = true
+t.rows = 30
+function t.cfgvalue()
+ return fs.readfile(splashtextfile) or ""
+end
+
+function f.handle(self, state, data)
+ if state == FORM_VALID then
+ if data.text then
+ fs.writefile(splashtextfile, data.text:gsub("\r\n", "\n"))
+ end
+ end
+ return true
+end
+
+return f
diff --git a/applications/luci-splash/luasrc/view/splash/splash.htm b/applications/luci-splash/luasrc/view/splash/splash.htm
index b659275050..72f58c2f10 100644
--- a/applications/luci-splash/luasrc/view/splash/splash.htm
+++ b/applications/luci-splash/luasrc/view/splash/splash.htm
@@ -12,36 +12,37 @@ You may obtain a copy of the License at
$Id$
-%>
-<% local c = luci.model.uci.cursor():get_all("freifunk", "community") %>
-
-<h2><a id="content" name="content">Willkommen!</a></h2>
-<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%></em> kannst du für <%=c.leasetime%> Stunden
-über unser Netz das Internet verwenden. Dann wirst du erneut aufgefordet, diese Bedingungen zu akzeptieren.
-</p>
+<%
+require("luci.fs")
+
+function expand (e)
+ return (string.gsub(e, "###([A-Z_]+)###", R))
+end
+
+local c = luci.model.uci.cursor():get_all("freifunk", "community")
+if c and c.name then
+ community = c.name
+else
+ community = "Freifunk"
+end
+
+if c and c.homepage then
+ homepage = c.homepage
+else
+ homepage = "http://freifunk.net"
+end
+
+local s = luci.model.uci.cursor():get_all("luci_splash", "general")
+if s and s.leasetime then
+ leasetime = s.leasetime
+else
+ leasetime = ""
+end
+
+R = {COMMUNITY = community, COMMUNITY_URL = homepage, LEASETIME = leasetime, ACCEPT = tostring(translate("Accept"))}
+
+splashtext = expand(luci.fs.readfile("/usr/lib/luci-splash/splashtext.html"))
+%>
+
+<%=splashtext%>
+
diff --git a/applications/luci-splash/root/usr/lib/luci-splash/splashtext.html b/applications/luci-splash/root/usr/lib/luci-splash/splashtext.html
new file mode 100644
index 0000000000..96f0b05e25
--- /dev/null
+++ b/applications/luci-splash/root/usr/lib/luci-splash/splashtext.html
@@ -0,0 +1,31 @@
+<h2><a id="content" name="content">Willkommen!</a></h2>
+<p>
+Du bist jetzt mit dem freien Funknetz <a href="###COMMUNITY_URL###">###COMMUNITY###</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 und das Netz regelmässig benutzt, dann bitten wir Dich um Unterstützung:
+<ul>
+<li><a href="###COMMUNITY_URL###">Werde selbst Freifunker oder teile deinen Internetzugang!</a></li>
+<li>Spende ein paar Euro, damit wir unser Netz weiter betreiben und ausbauen können.</li>
+<li>Wenn Du selbst privat genutzte WLAN-Geräte betreibst nutze dafür bitte andere Kanäle als wir.</li>
+</ul>
+</p>
+
+<p>
+Mit einem Klick auf <em>###ACCEPT###</em> kannst du für ###LEASETIME### Stunde(n)
+unser Netz verwenden. Dann wirst du erneut aufgefordet, diese Bedingungen zu akzeptieren.
+</p>