98 lines
2.5 KiB
HTML
98 lines
2.5 KiB
HTML
|
<script type="text/javascript"><![CDATA[
|
||
|
var stxhr = new XHR();
|
||
|
(function() {
|
||
|
stxhr.get('<%=luci.dispatcher.build_url("admin", "network", "dhcplease_status")%>', null,
|
||
|
function(x)
|
||
|
{
|
||
|
var st = x.responseText ? eval('(' + x.responseText + ')') : null;
|
||
|
var tb = document.getElementById('lease_status_table');
|
||
|
|
||
|
if (st && tb)
|
||
|
{
|
||
|
/* clear all rows */
|
||
|
while( tb.rows.length > 1 )
|
||
|
tb.rows[1].parentNode.removeChild(tb.rows[1]);
|
||
|
|
||
|
for( var i = 0; i < st.length; i++ )
|
||
|
{
|
||
|
var timestr;
|
||
|
|
||
|
if (st[i].expires <= 0)
|
||
|
{
|
||
|
timestr = '<em><%:expired%></em>';
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
var d = 0;
|
||
|
var h = 0;
|
||
|
var m = 0;
|
||
|
var s = st[i].expires;
|
||
|
|
||
|
if (s > 60) {
|
||
|
m = Math.floor(s / 60);
|
||
|
s = (s % 60);
|
||
|
}
|
||
|
|
||
|
if (m > 60) {
|
||
|
h = Math.floor(m / 60);
|
||
|
m = (m % 60);
|
||
|
}
|
||
|
|
||
|
if (h > 24) {
|
||
|
d = Math.floor(h / 24);
|
||
|
h = (h % 24);
|
||
|
}
|
||
|
|
||
|
timestr = (d > 0)
|
||
|
? String.format('%dd %dh %dm %ds', d, h, m, s)
|
||
|
: String.format('%dh %dm %ds', h, m, s);
|
||
|
}
|
||
|
|
||
|
var tr = document.createElement('tr');
|
||
|
tr.className = 'cbi-section-table-row cbi-rowstyle-' + ((i % 2) + 1);
|
||
|
|
||
|
tr.innerHTML = String.format(
|
||
|
'<td class="cbi-section-table-cell">%s</td>' +
|
||
|
'<td class="cbi-section-table-cell">%s</td>' +
|
||
|
'<td class="cbi-section-table-cell">%s</td>' +
|
||
|
'<td class="cbi-section-table-cell">%s</td>',
|
||
|
st[i].hostname ? st[i].hostname : '?',
|
||
|
st[i].ipaddr,
|
||
|
st[i].macaddr,
|
||
|
timestr
|
||
|
);
|
||
|
|
||
|
tb.rows[0].parentNode.appendChild(tr);
|
||
|
}
|
||
|
|
||
|
if( tb.rows.length == 1 )
|
||
|
{
|
||
|
var tr = document.createElement('tr');
|
||
|
tr.className = 'cbi-section-table-row';
|
||
|
tr.innerHTML = '<td colspan="5"><em><br /><%:There are no active leases.%></em></td>';
|
||
|
|
||
|
tb.rows[0].parentNode.appendChild(tr);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
)
|
||
|
|
||
|
window.setTimeout(arguments.callee, 5000);
|
||
|
})();
|
||
|
]]></script>
|
||
|
|
||
|
<fieldset class="cbi-section">
|
||
|
<legend><%:Active Leases%></legend>
|
||
|
<table class="cbi-section-table" id="lease_status_table">
|
||
|
<tr class="cbi-section-table-titles">
|
||
|
<th class="cbi-section-table-cell"><%:Hostname%></th>
|
||
|
<th class="cbi-section-table-cell"><%:IPv4-Address%></th>
|
||
|
<th class="cbi-section-table-cell"><%:MAC-Address%></th>
|
||
|
<th class="cbi-section-table-cell"><%:Leasetime remaining%></th>
|
||
|
</tr>
|
||
|
<tr class="cbi-section-table-row">
|
||
|
<td colspan="5"><em><br /><%:Collecting data...%></em></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</fieldset>
|