luci-0.8: merge r4725
authorJo-Philipp Wich <jow@openwrt.org>
Sat, 30 May 2009 00:45:27 +0000 (00:45 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sat, 30 May 2009 00:45:27 +0000 (00:45 +0000)
modules/admin-full/luasrc/view/admin_status/interfaces.htm

index abcf6f5..482aa0c 100644 (file)
@@ -143,16 +143,22 @@ $Id$
 
        function get_brinfo(s)
                local b = { }
-               for l in luci.util.execi("brctl show br-%s" % s['.name']) do
+               local m = false
+               for l in luci.util.execi("brctl show") do
                        if not l:match("STP") then
-                               local r = luci.util.split(l, "%s+", nil, true)
-                               if #r > 2 then
-                                       b.name    = r[1]
-                                       b.id      = r[2]
-                                       b.stp     = r[3] == "yes"
-                                       b.ifnames = { r[4] }
-                               else
-                                       b.ifnames[#b.ifnames+1] = r[2]
+                               if m and l:match("^[a-z]") then
+                                       break 
+                               elseif m or l:match("^br%%-%s" % s['.name']) then
+                                       m = true
+                                       local r = luci.util.split(l, "%s+", nil, true)
+                                       if #r > 2 then
+                                               b.name    = r[1]
+                                               b.id      = r[2]
+                                               b.stp     = r[3] == "yes"
+                                               b.ifnames = { r[4] }
+                                       else
+                                               b.ifnames[#b.ifnames+1] = r[2]
+                                       end
                                end
                        end
                end
@@ -171,6 +177,8 @@ $Id$
                        <% for _, i in ipairs(single_ifs) do
                                dev     = get_ifname(i)
                                vlan    = get_vlan(dev)
+
+                               if devinfo and devinfo[dev] then
                        %>
                                <h3><%:a_s_if_interface Interface%> <%=i['.name']%></h3>
                                <p style="font-size:90%;padding-left:1em">
@@ -221,12 +229,14 @@ $Id$
                                        <% end %>
                                <%- end -%>
                                <br /></p>
-                       <% end %>
+                       <% end end %>
 
 
                        <% for _, b in ipairs(bridge_ifs) do
                                br  = get_brinfo(b)
-                               dev = br.name
+                               dev = br and br.name
+
+                               if br and devinfo and devinfo[dev] then
                        %>
                                <h3><%:a_s_if_bridge Bridge%> <%=br.name%></h3>
                                <p style="font-size:90%;padding-left:1em">
@@ -294,7 +304,7 @@ $Id$
                                        <% end -%><br />
                                <% end %>
                                <br /></p>
-                       <% end %>
+                       <% end end %>
                </fieldset>
        </div>
 </form>