entry({"admin", "status"}, template("admin_status/index"), i18n("status", "Status"), 20).index = true
entry({"admin", "status", "interfaces"}, template("admin_status/interfaces"), i18n("interfaces", "Interfaces"), 1)
entry({"admin", "status", "iptables"}, call("action_iptables"), i18n("a_s_ipt", "Firewall"), 2)
- entry({"admin", "status", "conntrack"}, form("admin_status/conntrack"), i18n("a_n_conntrack"), 3)
+ entry({"admin", "status", "conntrack"}, template("admin_status/conntrack"), i18n("a_n_conntrack"), 3)
entry({"admin", "status", "routes"}, template("admin_status/routes"), i18n("a_n_routes"), 4)
entry({"admin", "status", "syslog"}, call("action_syslog"), i18n("syslog", "System Log"), 5)
entry({"admin", "status", "dmesg"}, call("action_dmesg"), i18n("dmesg", "Kernel Log"), 6)
+++ /dev/null
---[[
-LuCI - Lua Configuration Interface
-
-Copyright 2008 Steven Barth <steven@midlink.org>
-Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-$Id$
-]]--
-
-f = SimpleForm("conntrack", translate("a_n_conntrack"), translate("a_n_conntrack_desc"))
-f.reset = false
-f.submit = false
-
-t = f:section(Table, luci.sys.net.arptable(), "ARP")
-t:option(DummyValue, "IP address", translate("ipaddress"))
-t:option(DummyValue, "HW address", translate("macaddress"))
-t:option(DummyValue, "Device", translate("interface"))
-
-t = f:section(Table, luci.sys.net.conntrack() or {}, translate("a_n_conntrack"))
-l3 = t:option(DummyValue, "layer3", translate("network"))
-function l3.cfgvalue(self, ...)
- return DummyValue.cfgvalue(self, ...):upper()
-end
-
-
-l4 = t:option(DummyValue, "layer4", translate("protocol"))
-function l4.cfgvalue(self, ...)
- return DummyValue.cfgvalue(self, ...):upper()
-end
-
-s = t:option(DummyValue, "src", translate("source"))
-function s.cfgvalue(self, section)
- return "%s:%s" % { self.map:get(section, "src"),
- self.map:get(section, "sport") or "*" }
-end
-
-d = t:option(DummyValue, "dst", translate("destination"))
-function d.cfgvalue(self, section)
- return "%s:%s" % { self.map:get(section, "dst"),
- self.map:get(section, "dport") or "*" }
-end
-
-return f
--- /dev/null
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008-2009 Steven Barth <steven@midlink.org>
+Copyright 2008-2009 Jo-Philipp Wich <xm@subsignal.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+
+<%-
+ require "bit"
+ require "luci.fs"
+ require "luci.sys"
+ require "luci.tools.webadmin"
+
+ local style = true
+-%>
+
+<%+header%>
+
+<div class="cbi-map" id="cbi-conntrack">
+ <h2><a id="content" name="content"><%:a_n_conntrack%></a></h2>
+ <div class="cbi-map-descr"><%:a_n_conntrack_desc%></div>
+
+ <fieldset class="cbi-section" id="cbi-table-table">
+ <legend>ARP</legend>
+ <div class="cbi-section-node">
+ <table class="cbi-section-table">
+ <tr class="cbi-section-table-titles">
+ <th class="cbi-section-table-cell"><%:ipaddress%></th>
+ <th class="cbi-section-table-cell"><%:macaddress%></th>
+ <th class="cbi-section-table-cell"><%:interface%></th>
+ </tr>
+
+ <% luci.sys.net.arptable(function(e) %>
+ <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
+ <td class="cbi-value-field"><%=e["IP address"]%></td>
+ <td class="cbi-value-field"><%=e["HW address"]%></td>
+ <td class="cbi-value-field"><%=e["Device"]%></td>
+ </tr>
+ <% style = not style; end) %>
+ </table>
+ </div>
+ </fieldset>
+ <br />
+
+ <fieldset class="cbi-section" id="cbi-table-table">
+ <legend><%:a_n_conntrack%></legend>
+ <div class="cbi-section-node">
+ <table class="cbi-section-table">
+ <tr class="cbi-section-table-titles">
+ <th class="cbi-section-table-cell"><%:network%></th>
+ <th class="cbi-section-table-cell"><%:protocol%></th>
+ <th class="cbi-section-table-cell"><%:source%></th>
+ <th class="cbi-section-table-cell"><%:destination%></th>
+ </tr>
+
+ <% style = true; luci.sys.net.conntrack(function(c) %>
+ <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
+ <td class="cbi-value-field"><%=c.layer3:upper()%></td>
+ <td class="cbi-value-field"><%=c.layer4:upper()%></td>
+ <td class="cbi-value-field"><%=c.src%></td>
+ <td class="cbi-value-field"><%=c.dst%></td>
+ </tr>
+ <% style = not style; end) %>
+ </table>
+ </div>
+ </fieldset>
+ <br />
+</div>
+
+<%+footer%>
+