modules/freifunk: Make the public index page editable
authorManuel Munz <freifunk@somakoma.de>
Thu, 18 Nov 2010 03:29:17 +0000 (03:29 +0000)
committerManuel Munz <freifunk@somakoma.de>
Thu, 18 Nov 2010 03:29:17 +0000 (03:29 +0000)
modules/freifunk/luasrc/controller/freifunk/freifunk.lua
modules/freifunk/luasrc/model/cbi/freifunk/user_index.lua [new file with mode: 0644]
modules/freifunk/luasrc/view/freifunk/index.htm
po/de/freifunk.po
po/templates/freifunk.pot

index d4d9413..6df681a 100644 (file)
@@ -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 (file)
index 0000000..2b8cef9
--- /dev/null
@@ -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
index 736cf29..d93dcd8 100644 (file)
@@ -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%>
index bc7ae94..f9724d0 100644 (file)
@@ -3,7 +3,7 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2010-11-18 00:10+0100\n"
+"PO-Revision-Date: 2010-11-18 00:59+0100\n"
 "Last-Translator: Manuel Munz <freifunk@somakoma.de>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -312,3 +312,25 @@ msgstr "Heruntergeladene Images verifizieren"
 #, fuzzy
 msgid "Confirm Upgrade"
 msgstr "Updatevorgang starten"
+
+#. Edit index page
+msgid "Edit index page"
+msgstr "Indexseite bearbeiten"
+
+#. 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;.
+msgid ""
+"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;."
+msgstr ""
+"Hier kann der Indexseite weiterer Inhalt hinzugefügt werden. Dazu muss "
+"gültiges XHTML verwendet werden.<br />Überschriften sollten zwischen den "
+"Tags &lt;h2&gt; und &lt;/h2&gt; eingeschlossen werden."
+
+#. Disable default content
+msgid "Disable default content"
+msgstr "Standardtext deaktivieren"
+
+#. If checked then the default content element is not shown.
+msgid "If checked then the default content element is not shown."
+msgstr "Aktivieren um den Standardtext auf der Indexseite nicht anzuzeigen."
index d5a8b21..22a44bb 100644 (file)
@@ -136,7 +136,7 @@ msgstr ""
 #. Decline
 msgid "Decline"
 msgstr ""
-+
+
 #. Services error
 msgid ""
 "No services can be shown, because olsrd is not running or the olsrd-"
@@ -284,3 +284,22 @@ msgstr ""
 #. Confirm Upgrade
 msgid "Confirm Upgrade"
 msgstr ""
+
+#. Edit index page
+msgid "Edit index page"
+msgstr ""
+
+#. 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;.
+msgid ""
+"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;."
+msgstr ""
+
+#. Disable default content
+msgid "Disable default content"
+msgstr ""
+
+#. If checked then the default content element is not shown.
+msgid "If checked then the default content element is not shown."
+msgstr ""