39ae5fe9add4186640a1e5ab815a65f8323dea91
[project/luci.git] / modules / freifunk / luasrc / controller / freifunk / freifunk.lua
1 module("luci.controller.freifunk.freifunk", package.seeall)
2
3 function index()
4         local page  = node()
5         page.target = alias("freifunk")
6
7         local page    = node("freifunk")
8         page.title    = "Freifunk"
9         page.target   = alias("freifunk", "index")
10         page.order    = 5
11         page.setuser  = "nobody"
12         page.setgroup = "nogroup"
13         
14         local page  = node("freifunk", "index")
15         page.target = template("freifunk/index")
16         page.title  = "Übersicht"
17         page.order  = 10
18         
19         local page  = node("freifunk", "index", "contact")
20         page.target = template("freifunk/contact")
21         page.title  = "Kontakt"
22         
23         
24         local page  = node("freifunk", "status")
25         page.target = call("action_status")
26         page.title  = "Status"
27         page.order  = 20
28         page.setuser  = false
29         page.setgroup = false
30         
31         assign({"freifunk", "status", "routes"}, node("admin", "status", "routes"), "Routingtabelle", 10)
32         assign({"freifunk", "status", "iwscan"}, node("admin", "status", "iwscan"), "WLAN-Scan", 20)
33         
34         assign({"freifunk", "olsr"}, node("admin", "status", "olsr"), "OLSR", 30)
35         
36         local page  = node("admin", "index", "freifunk")
37         page.target = cbi("freifunk/freifunk")
38         page.title  = "Freifunk"
39         page.order  = 30
40         
41         local page  = node("admin", "index", "contact")
42         page.target = cbi("freifunk/contact")
43         page.title  = "Kontakt"
44         page.order  = 40
45 end
46
47 function action_status()
48         local data = {}
49         
50         data.s, data.m, data.r = luci.sys.sysinfo()
51         
52         data.wifi = luci.sys.wifi.getiwconfig()
53         
54         data.routes = {}
55         for i, r in pairs(luci.sys.net.routes()) do
56                 if r.Destination == "00000000" then
57                         table.insert(data.routes, r)
58                 end
59         end
60
61         
62         luci.template.render("public_status/index", data)
63 end