From e8a9cad684d875a2f2c6dcb94149409049d42492 Mon Sep 17 00:00:00 2001 From: Manuel Munz Date: Thu, 18 Nov 2010 03:29:17 +0000 Subject: modules/freifunk: Make the public index page editable --- .../luasrc/controller/freifunk/freifunk.lua | 11 +++-- .../luasrc/model/cbi/freifunk/user_index.lua | 30 +++++++++++++ modules/freifunk/luasrc/view/freifunk/index.htm | 50 ++++++++++++++++++---- 3 files changed, 79 insertions(+), 12 deletions(-) create mode 100644 modules/freifunk/luasrc/model/cbi/freifunk/user_index.lua (limited to 'modules') 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.
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") %> -

<%:Hello and welcome in the network of%> <%=ff.community.name or 'Freifunk Deutschland'%>!

-

<%:We are an initiative to establish a free, independent and open wireless mesh network.%>
-<%:This is the access point%> <%=luci.sys.hostname()%>. <%:It is operated by%> -"> <%=ff.contact.nickname%>.

-

<%:You can find further information about the global Freifunk initiative at%> Freifunk.net.
-<%:If you are interested in our project then contact the local community%> <%=ff.community.name or 'Freifunk'%>.

-

<%:Notice%>: <%:Internet access depends on technical and organisational conditions and may or may not work for you.%>

+<% +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 = '

'.. + (translate("Hello and welcome in the network of")).. + ' '.. + (ff.community.name or "Freifunk Deutschland").. + '!

'.. + translate("We are an initiative to establish a free, independent and open wireless mesh network.").. + '
'.. + translate("This is the access point").. + ' '.. + luci.sys.hostname().. + '. '.. + translate("It is operated by").. + ' '.. + (ff.contact.nickname or "Anonymous").. + '.

'.. + translate("You can find further information about the global Freifunk initiative at").. + ' Freifunk.net.
'.. + translate("If you are interested in our project then contact the local community").. + ' '.. + (ff.community.name or "Freifunk").. + '.

'.. + translate("Notice").. + ': '.. + translate("Internet access depends on technical and organisational conditions and may or may not work for you.").. + '

' +end +%> + +<%=defaulttext%> +<%=usertext%> + <%+footer%> -- cgit v1.2.3