<script type="text/javascript">//<![CDATA[ XHR.poll(-1, '<%=url('admin/dhcplease_status')%>', null, function(x, st) { var tb = document.getElementById('lease_status_table'); if (st && st[0] && tb) { var rows = []; for (var i = 0; i < st[0].length; i++) { var timestr; if (st[0][i].expires === false) timestr = '<em><%:unlimited%></em>'; else if (st[0][i].expires <= 0) timestr = '<em><%:expired%></em>'; else timestr = String.format('%t', st[0][i].expires); rows.push([ st[0][i].hostname || '?', st[0][i].ipaddr, st[0][i].macaddr, timestr ]); } cbi_update_table(tb, rows, '<em><%:There are no active leases.%></em>'); } var tb6 = document.getElementById('lease6_status_table'); if (st && st[1] && tb6) { tb6.parentNode.style.display = 'block'; var rows = []; for (var i = 0; i < st[1].length; i++) { var timestr; if (st[1][i].expires === false) timestr = '<em><%:unlimited%></em>'; else if (st[1][i].expires <= 0) timestr = '<em><%:expired%></em>'; else timestr = String.format('%t', st[1][i].expires); var name = st[1][i].hostname, hint = st[1][i].host_hint; rows.push([ hint ? '%h (%h)'.format(name || '?', hint) : (name || '?'), st[1][i].ip6addr, st[1][i].duid, timestr ]); } cbi_update_table(tb6, rows, '<em><%:There are no active leases.%></em>'); } } ); //]]></script> <div class="cbi-section"> <h3><%:Active DHCP Leases%></h3> <div class="table" id="lease_status_table"> <div class="tr table-titles"> <div class="th"><%:Hostname%></div> <div class="th"><%:IPv4-Address%></div> <div class="th"><%:MAC-Address%></div> <div class="th"><%:Leasetime remaining%></div> </div> <div class="tr placeholder"> <div class="td"><em><%:Collecting data...%></em></div> </div> </div> </div> <% local fs = require "nixio.fs" local has_ipv6 = fs.access("/proc/net/ipv6_route") if has_ipv6 then -%> <div class="cbi-section" style="display:none"> <h3><%:Active DHCPv6 Leases%></h3> <div class="table" id="lease6_status_table"> <div class="tr table-titles"> <div class="th"><%:Host%></div> <div class="th"><%:IPv6-Address%></div> <div class="th"><%:DUID%></div> <div class="th"><%:Leasetime remaining%></div> </div> <div class="tr placeholder"> <div class="td"><em><%:Collecting data...%></em></div> </div> </div> </div> <% end -%>