modules/freifunk: remove sorting function from widgets include in index view
[project/luci.git] / modules / freifunk / luasrc / view / freifunk / index.htm
index 28900a7..0fcec45 100644 (file)
@@ -15,19 +15,29 @@ $Id$
 <%+header%>
 <% 
 local uci = require "luci.model.uci".cursor()
 <%+header%>
 <% 
 local uci = require "luci.model.uci".cursor()
+local tpl = require "luci.template"
+local fs = require "luci.fs"
+local ff = {}
 local ff = uci:get_all("freifunk")
 local ff = uci:get_all("freifunk")
-if not ff.community.name then
-       ff.community.name = ""
+
+if not ff or not ff.community.name then
+       community = "Freifunk"
+       DefaultText = ""
+       nickname = "No Nickname set"
+else
+       community = ff.community.name
+       DefaultText = ff.community.DefaultText
+       nickname = ff.contact.nickname
 end
 end
-local co = "profile_" .. ff.community.name
-local community = uci:get_first(co, "community", "name") or "Freifunk"
+
+local co = "profile_" .. community
+--local community = uci:get_first(co, "community", "name") or "Freifunk"
 local url = uci:get_first(co, "community", "homepage") or "http://www.freifunk.net"
 
 
 local url = uci:get_first(co, "community", "homepage") or "http://www.freifunk.net"
 
 
-require("luci.fs")
-local usertext = luci.fs.readfile("/www/luci-static/index_user.html")
+local usertext = fs.readfile("/www/luci-static/index_user.html")
 
 
-if (ff.community.DefaultText or "") ~= "disabled" then
+if DefaultText ~= "disabled" then
 
        defaulttext = '<h2><a id="content" name="content">'..
        (translate("Hello and welcome in the network of"))..
 
        defaulttext = '<h2><a id="content" name="content">'..
        (translate("Hello and welcome in the network of"))..
@@ -41,10 +51,10 @@ if (ff.community.DefaultText or "") ~= "disabled" then
        luci.sys.hostname()..
        '. '..
        translate("It is operated by")..
        luci.sys.hostname()..
        '. '..
        translate("It is operated by")..
-       '<a href="'..
-       luci.dispatcher.build_url("freifunk", "index", "contact")..
+       ' <a href="'..
+       luci.dispatcher.build_url("freifunk", "contact")..
        '">'..
        '">'..
-       (ff.contact.nickname or translate("Please set your contact information"))..
+       (nickname or translate("Please set your contact information"))..
        '</a>.</p><p>'..
        translate("You can find further information about the global Freifunk initiative at")..
        ' <a href="http://freifunk.net">Freifunk.net</a>.<br />'..
        '</a>.</p><p>'..
        translate("You can find further information about the global Freifunk initiative at")..
        ' <a href="http://freifunk.net">Freifunk.net</a>.<br />'..
@@ -60,4 +70,23 @@ end
 <%=defaulttext%>
 <%=usertext%>
 
 <%=defaulttext%>
 <%=usertext%>
 
+<%
+-- add custom widgets from view/freifunk/widgets
+local widgets = {}
+local dir = "/usr/lib/lua/luci/view/freifunk/widgets"
+
+uci:foreach("freifunk-widgets", "widget",
+                       function(s)
+                               if s.enabled == "1" then
+                                       table.insert(widgets, s)
+                               end
+                       end)
+
+for k, v in ipairs(widgets) do
+       if v['template'] and fs.access(dir .. "/" .. v['template'] .. "/main.htm") then
+               tpl.render("freifunk/widgets/" .. v['template'] .. "/main", { data = v })
+       end
+end
+
+%>
 <%+footer%>
 <%+footer%>