summaryrefslogtreecommitdiffhomepage
path: root/modules
diff options
context:
space:
mode:
authorManuel Munz <freifunk@somakoma.de>2010-11-18 03:29:17 +0000
committerManuel Munz <freifunk@somakoma.de>2010-11-18 03:29:17 +0000
commite8a9cad684d875a2f2c6dcb94149409049d42492 (patch)
treea34826ac81d8cab5d8e123a111793c8b2220aa4b /modules
parent543e129ab56f1c96962a0c9a3d8fe2279f5cd2db (diff)
modules/freifunk: Make the public index page editable
Diffstat (limited to 'modules')
-rw-r--r--modules/freifunk/luasrc/controller/freifunk/freifunk.lua11
-rw-r--r--modules/freifunk/luasrc/model/cbi/freifunk/user_index.lua30
-rw-r--r--modules/freifunk/luasrc/view/freifunk/index.htm50
3 files changed, 79 insertions, 12 deletions
diff --git a/modules/freifunk/luasrc/controller/freifunk/freifunk.lua b/modules/freifunk/luasrc/controller/freifunk/freifunk.lua
index d4d941308..6df681afd 100644
--- a/modules/freifunk/luasrc/controller/freifunk/freifunk.lua
+++ b/modules/freifunk/luasrc/controller/freifunk/freifunk.lua
@@ -41,11 +41,9 @@ function index()
page.target = template("freifunk/contact")
page.title = "Kontakt"
- entry({"freifunk", "status"}, alias("freifunk", "status", "status"), "Status", 20)
-
- local page = node("freifunk", "status", "status")
+ local page = node("freifunk", "status")
page.target = form("freifunk/public_status")
- page.title = i18n("Overview")
+ page.title = i18n("Status")
page.order = 20
page.i18n = "base"
page.setuser = false
@@ -67,6 +65,11 @@ function index()
page.title = "Freifunk"
page.order = 30
+ local page = node("admin", "freifunk", "Index-Page")
+ page.target = cbi("freifunk/user_index")
+ page.title = "Index-Page"
+ page.order = 35
+
local page = node("admin", "freifunk", "contact")
page.target = cbi("freifunk/contact")
page.title = "Kontakt"
diff --git a/modules/freifunk/luasrc/model/cbi/freifunk/user_index.lua b/modules/freifunk/luasrc/model/cbi/freifunk/user_index.lua
new file mode 100644
index 000000000..2b8cef968
--- /dev/null
+++ b/modules/freifunk/luasrc/model/cbi/freifunk/user_index.lua
@@ -0,0 +1,30 @@
+local fs = require "nixio.fs"
+local file = "/www/luci-static/index_user.html"
+
+m = Map("freifunk", translate("Edit index page"), translate("You can display additional content on the public index page by inserting valid XHTML in the form below.<br />Headlines should be enclosed between &lt;h2&gt; and &lt;/h2&gt;."))
+
+s = m:section(NamedSection, "community", "public", "")
+s.anonymous = true
+
+di = s:option(Flag, "DefaultText", translate("Disable default content"), translate("If checked then the default content element is not shown."))
+di.enabled = "disabled"
+di.disabled = "enabled"
+di.rmempty = false
+
+t = s:option(TextValue, "_text")
+t.rmempty = true
+t.rows = 20
+
+function t.cfgvalue()
+ return fs.readfile(file) or ""
+end
+
+function t.write(self, section, value)
+ return fs.writefile(file, value)
+end
+
+function t.remove(self, section)
+ return fs.unlink(file)
+end
+
+return m
diff --git a/modules/freifunk/luasrc/view/freifunk/index.htm b/modules/freifunk/luasrc/view/freifunk/index.htm
index 736cf29da..d93dcd8f4 100644
--- a/modules/freifunk/luasrc/view/freifunk/index.htm
+++ b/modules/freifunk/luasrc/view/freifunk/index.htm
@@ -13,12 +13,46 @@ $Id$
-%>
<%+header%>
-<% local ff = luci.model.uci.cursor():get_all("freifunk") %>
-<h2><a id="content" name="content"><%:Hello and welcome in the network of%> <%=ff.community.name or 'Freifunk Deutschland'%>!</a></h2>
-<p><%:We are an initiative to establish a free, independent and open wireless mesh network.%><br />
-<%:This is the access point%> <%=luci.sys.hostname()%>. <%:It is operated by%>
-<a href="<%=luci.dispatcher.build_url("freifunk", "index", "contact")%>"> <%=ff.contact.nickname%></a>.</p>
-<p><%:You can find further information about the global Freifunk initiative at%> <a href="http://freifunk.net">Freifunk.net</a>.<br />
-<%:If you are interested in our project then contact the local community%> <a href="<%=ff.community.homepage or 'http//freifunk.net'%>"><%=ff.community.name or 'Freifunk'%></a>.</p>
-<p><strong><%:Notice%></strong>: <%:Internet access depends on technical and organisational conditions and may or may not work for you.%></p>
+<%
+local ff = luci.model.uci.cursor():get_all("freifunk")
+require("luci.fs")
+local usertext = luci.fs.readfile("/www/luci-static/index_user.html")
+
+if (ff.community.DefaultText or "") ~= "disabled" then
+
+ defaulttext = '<h2><a id="content" name="content">'..
+ (translate("Hello and welcome in the network of"))..
+ ' '..
+ (ff.community.name or "Freifunk Deutschland")..
+ '!</a></h2><p>'..
+ translate("We are an initiative to establish a free, independent and open wireless mesh network.")..
+ '<br />'..
+ translate("This is the access point")..
+ ' '..
+ luci.sys.hostname()..
+ '. '..
+ translate("It is operated by")..
+ '<a href="'..
+ luci.dispatcher.build_url("freifunk", "index", "contact")..
+ '"> '..
+ (ff.contact.nickname or "Anonymous")..
+ '</a>.</p><p>'..
+ translate("You can find further information about the global Freifunk initiative at")..
+ ' <a href="http://freifunk.net">Freifunk.net</a>.<br />'..
+ translate("If you are interested in our project then contact the local community")..
+ ' <a href="'..
+ (ff.community.homepage or "http//freifunk.net")..
+ '">'..
+ (ff.community.name or "Freifunk")..
+ '</a>.</p><p><strong>'..
+ translate("Notice")..
+ '</strong>: '..
+ translate("Internet access depends on technical and organisational conditions and may or may not work for you.")..
+ '</p>'
+end
+%>
+
+<%=defaulttext%>
+<%=usertext%>
+
<%+footer%>