Changeset 6633
- Timestamp:
- 12/07/10 12:13:39 (2 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
luci/trunk/modules/freifunk/luasrc/view/freifunk/public_status.htm
r6592 r6633 1 1 <% 2 local sys = require "luci.sys" 3 local twa = require "luci.tools.webadmin" 2 require "luci.sys" 3 require "luci.tools.webadmin" 4 4 5 -- System 5 local system, model, memtotal, memcached, membuffers, memfree = sys.sysinfo() 6 local uptime = twa.date_format(tonumber(sys.uptime()))7 local _time = os.date("%c")8 local load1, load5, load15 = sys.loadavg()6 7 local system, model, memtotal, memcached, membuffers, memfree = luci.sys.sysinfo() 8 local uptime = luci.sys.uptime() 9 local load1, load5, load15 = luci.sys.loadavg() 9 10 local load = string.format("%.2f, %.2f, %.2f", load1, load5, load15) 10 11 local memory = string.format("%.2f MB (%.0f%% %s, %.0f%% %s, %.0f%% %s)", … … 17 18 tostring(translate("free")) 18 19 ) 20 local_time = os.date("%c") 21 local uptime = luci.tools.webadmin.date_format(tonumber(uptime)) 19 22 20 -- wireless 21 local ntm = require "luci.model.network".init() 22 local devices = ntm:get_wifidevs() 23 local netlist = { } 24 local netdevs = { } 25 local dev 26 local has_iwinfo = pcall(require, "iwinfo") 23 -- Wireless 24 local uci = require "luci.model.uci".cursor() 25 ifaces = {} 26 uci:foreach("wireless", "wifi-iface", function(s) 27 if s.network then 28 table.insert(ifaces, s.network) 29 if (uci:get("network", s.network, "ifname")) then 30 has_ifaces = true 31 end 32 end 33 end) 27 34 28 35 -- Routes 29 local defroutev4 = sys.net.defaultroute()30 local defroutev6 = sys.net.defaultroute6 ()36 local defroutev4 = luci.sys.net.defaultroute() 37 local defroutev6 = luci.sys.net.defaultroute6 () 31 38 32 39 %> … … 45 52 </div> 46 53 47 <% if devices[1] then %> 48 54 <% if has_ifaces == true then %> 49 55 <div class="cbi-map"> 50 56 <h2><%:Wireless Overview%></h2> 51 52 <% if not has_iwinfo then %>53 <div class="errorbox">54 <strong><%:Package libiwinfo required!%></strong><br />55 <%_The <em>libiwinfo</em> package is not installed. You must install this component for working wireless configuration!%>56 </div>57 <% end %>58 59 57 <div class="cbi-section"> 60 58 <div class="cbi-section-node"> … … 66 64 <th class="cbi-section-table-cell"><%:BSSID%></th> 67 65 <th class="cbi-section-table-cell"><%:Channel%></th> 68 <th class="cbi-section-table-cell"><%:Mode%></th> 69 <th class="cbi-section-table-cell"><%:TX%>-<%:Power%></th> 70 <th class="cbi-section-table-cell"><%:Interface%></th> 66 <th class="cbi-section-table-cell"><%:Mode%></th><th><%:TX%>-<%:Power%></th> 71 67 </tr> 72 <%73 for _, dev in ipairs(devices) do74 local net75 for _, net in ipairs(dev:get_wifinets()) do76 netlist[#netlist+1] = net:ifname()77 netdevs[net:ifname()] = dev:name()78 68 79 if net.iwdata.ifname then 80 local signal = net.iwinfo.signal or "N/A" 81 local noise = net.iwinfo.noise or "N/A" 82 local q = net.iwinfo.quality or "0" 83 local qmax = net.iwinfo.quality_max or "100" 84 local qperc = q / qmax * 100 69 70 <% for k,v in pairs(ifaces) do 71 local iface = uci:get("network", v, "ifname") 72 if iface then 73 iwinf = luci.sys.wifi.getiwinfo(iface) 74 local signal = iwinf.signal 75 local noise = iwinf.noise 76 local q = iwinf.quality 77 local qmax = iwinf.quality_max 78 local qperc = q / qmax * 100 79 80 if qperc == 0 then 81 icon = "signal-none.png" 82 elseif qperc < 26 then 83 icon = "signal-0-25.png" 84 elseif qperc < 51 then 85 icon = "signal-25-50.png" 86 elseif qperc < 76 then 87 icon = "signal-50-75.png" 88 elseif qperc < 100 then 89 icon = "signal-75-100.png" 90 else 91 icon = "signal-0.png" 92 end 85 93 86 if qperc == 0 then 87 icon = "signal-none.png" 88 elseif qperc < 26 then 89 icon = "signal-0-25.png" 90 elseif qperc < 51 then 91 icon = "signal-25-50.png" 92 elseif qperc < 76 then 93 icon = "signal-50-75.png" 94 elseif qperc < 100 then 95 icon = "signal-75-100.png" 96 else 97 icon = "signal-0.png" 98 end 94 signal_string = "<img src='"..resource.."/icons/"..icon.."' title='Signal: "..signal.." db / Noise: "..noise.." db' alt='Signal Quality'></img>" 99 95 100 signal_string = "<img src='"..resource.."/icons/"..icon.."' title='Signal: "..signal.." db / Noise: "..noise.." db' alt='Signal Quality'></img>" 101 102 local ssid = net.iwinfo.ssid or "N/A" 103 local bssid = net.iwinfo.bssid or "N/A" 104 local chan = net.iwinfo.channel or "N/A" 105 local mode = net.iwinfo.mode or "N/A" 106 local txpwr = net.iwinfo.txpower or "N/A" 107 if txpwr ~= "N/A" then 108 txpwr = txpwr.." dbm" 109 end 110 local bitrate = net.iwinfo.bitrate or "N/A" 111 if bitrate ~= "N/A" then 112 bitrate = ( bitrate / 1000 ).."Mb/s" 113 end 114 local interface = net.iwdata.ifname or "N/A" 115 %> 116 <tr class="cbi-section-table-row cbi-rowstyle-1"> 96 local ssid = iwinf.ssid 97 local bssid = iwinf.bssid 98 local chan = iwinf.channel 99 local mode = iwinf.mode 100 local txpwr = iwinf.txpower.." dbm" 101 local bitrate = (iwinf.bitrate / 1000).."Mb/s" 102 %> 103 <tr class="cbi-section-table-row cbi-rowstyle-1"> 117 104 <td class="cbi-value-field"><%=signal_string%></td> 118 105 <td class="cbi-value-field"><%=bitrate%></td> … … 120 107 <td class="cbi-value-field"><%=bssid%></td> 121 108 <td class="cbi-value-field"><%=chan%></td> 122 <td class="cbi-value-field"><%=mode%></td> 123 <td class="cbi-value-field"><%=txpwr%></td> 124 <td class="cbi-value-field"><%=interface%></td> 109 <td class="cbi-value-field"><%=mode%></td><td><%=txpwr%></td> 125 110 </tr> 126 <% end 127 end 128 end %> 129 </table> 111 <% end %> 112 <% end %> 113 </table> 130 114 </div> 131 115 </div> … … 136 120 <h2><%:Default routes%></h2> 137 121 <div class="cbi-section"> 138 <div class="cbi-section-node"> 139 <table class="cbi-section-table"> 140 141 <% if not defroutev4 and not defroutev6 then %> 142 <%:No default routes known.%> 143 <%else%> 122 <div class="cbi-section-node"> 123 <table class="cbi-section-table"> 124 <% if not defroutev4 and not defroutev6 then %> 125 <%:No defaultroutes known.%> 126 <%else%> 144 127 <tr class="cbi-section-table-titles"> 145 128 <th class="cbi-section-table-cell"><%:Network%></th> … … 148 131 <th class="cbi-section-table-cell"><%:Metric%></th> 149 132 </tr> 150 151 133 <% if defroutev4 then %> 152 153 134 <tr class="cbi-section-table-row cbi-rowstyle-1"> 154 135 <td class="cbi-value-field"><%=defroutev4.dest:string()%></td> … … 157 138 <td class="cbi-value-field"><%=defroutev4.metric%></td> 158 139 </tr> 159 160 <% end 161 if defroutev6 then %> 162 140 <% end %> 141 <% if defroutev6 then %> 163 142 <tr class="cbi-section-table-row cbi-rowstyle-2"> 164 143 <td class="cbi-value-field"><%=defroutev6.dest:string()%></td> … … 167 146 <td class="cbi-value-field"><%=defroutev6.metric%></td> 168 147 </tr> 169 170 148 <% end %> 171 172 149 </table> 173 150 </div> 174 151 </div> 175 152 </div> 153 176 154 <% end %> 177 155 178 156 <%+footer%> 157
