diff options
author | Manuel Munz <freifunk@somakoma.de> | 2010-11-18 03:29:17 +0000 |
---|---|---|
committer | Manuel Munz <freifunk@somakoma.de> | 2010-11-18 03:29:17 +0000 |
commit | e8a9cad684d875a2f2c6dcb94149409049d42492 (patch) | |
tree | a34826ac81d8cab5d8e123a111793c8b2220aa4b /modules | |
parent | 543e129ab56f1c96962a0c9a3d8fe2279f5cd2db (diff) |
modules/freifunk: Make the public index page editable
Diffstat (limited to 'modules')
-rw-r--r-- | modules/freifunk/luasrc/controller/freifunk/freifunk.lua | 11 | ||||
-rw-r--r-- | modules/freifunk/luasrc/model/cbi/freifunk/user_index.lua | 30 | ||||
-rw-r--r-- | modules/freifunk/luasrc/view/freifunk/index.htm | 50 |
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 <h2> and </h2>.")) + +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%> |