Move some common elements to luci-base, and otherwise make three packages out of status, system, and network. They were mostly separated already, but there were some shared elements between status and network that are now in luci-base. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
117 lines
3.8 KiB
HTML
117 lines
3.8 KiB
HTML
<%#
|
|
Copyright 2010 Jo-Philipp Wich <jow@openwrt.org>
|
|
Licensed to the public under the Apache License 2.0.
|
|
-%>
|
|
|
|
<%+header%>
|
|
|
|
<%
|
|
local fs = require "nixio.fs"
|
|
local has_ping6 = fs.access("/bin/ping6") or fs.access("/usr/bin/ping6")
|
|
local has_traceroute6 = fs.access("/bin/traceroute6") or fs.access("/usr/bin/traceroute6")
|
|
|
|
local dns_host = luci.config.diag and luci.config.diag.dns or "dev.openwrt.org"
|
|
local ping_host = luci.config.diag and luci.config.diag.ping or "dev.openwrt.org"
|
|
local route_host = luci.config.diag and luci.config.diag.route or "dev.openwrt.org"
|
|
%>
|
|
|
|
<script type="text/javascript">//<![CDATA[
|
|
var stxhr = new XHR();
|
|
|
|
function update_status(field, proto)
|
|
{
|
|
var tool = field.name;
|
|
var addr = field.value;
|
|
var protocol = proto ? "6" : "";
|
|
|
|
var legend = document.getElementById('diag-rc-legend');
|
|
var output = document.getElementById('diag-rc-output');
|
|
|
|
if (legend && output)
|
|
{
|
|
output.innerHTML =
|
|
'<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> ' +
|
|
'<%:Waiting for command to complete...%>'
|
|
;
|
|
|
|
legend.parentNode.style.display = 'block';
|
|
legend.style.display = 'inline';
|
|
|
|
stxhr.post('<%=url('admin/network')%>/diag_' + tool + protocol + '/' + addr, { token: '<%=token%>' },
|
|
function(x)
|
|
{
|
|
if (x.responseText)
|
|
{
|
|
legend.style.display = 'none';
|
|
output.innerHTML = String.format('<pre>%h</pre>', x.responseText);
|
|
}
|
|
else
|
|
{
|
|
legend.style.display = 'none';
|
|
output.innerHTML = '<span class="error"><%:Bad address specified!%></span>';
|
|
}
|
|
}
|
|
);
|
|
}
|
|
}
|
|
//]]></script>
|
|
|
|
<form method="post" action="<%=url('admin/network/diagnostics')%>">
|
|
<div class="cbi-map">
|
|
<h2 name="content"><%:Diagnostics%></h2>
|
|
|
|
<div class="cbi-section">
|
|
<legend><%:Network Utilities%></legend>
|
|
|
|
<div class="table">
|
|
<div class="tr">
|
|
<div class="td left">
|
|
<input style="margin: 5px 0" type="text" value="<%=ping_host%>" name="ping" /><br />
|
|
<% if has_ping6 then %>
|
|
<span>
|
|
<select name="ping_proto" style="width:auto">
|
|
<option value="" selected="selected"><%:IPv4%></option>
|
|
<option value="6"><%:IPv6%></option>
|
|
</select>
|
|
</span>
|
|
<input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping, this.form.ping_proto.selectedIndex)" />
|
|
<% else %>
|
|
<input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping)" />
|
|
<% end %>
|
|
</div>
|
|
|
|
<div class="td left">
|
|
<input style="margin: 5px 0" type="text" value="<%=route_host%>" name="traceroute" /><br />
|
|
<% if has_traceroute6 then %>
|
|
<span>
|
|
<select name="traceroute_proto" style="width:auto">
|
|
<option value="" selected="selected"><%:IPv4%></option>
|
|
<option value="6"><%:IPv6%></option>
|
|
</select>
|
|
</span>
|
|
<input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute, this.form.traceroute_proto.selectedIndex)" />
|
|
<% else %>
|
|
<input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute)" />
|
|
<% end %>
|
|
<% if not has_traceroute6 then %>
|
|
<p> </p>
|
|
<p><%:Install iputils-traceroute6 for IPv6 traceroute%></p>
|
|
<% end %>
|
|
</div>
|
|
|
|
<div class="td left">
|
|
<input style="margin: 5px 0" type="text" value="<%=dns_host%>" name="nslookup" /><br />
|
|
<input type="button" value="<%:Nslookup%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.nslookup)" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="cbi-section" style="display:none">
|
|
<strong id="diag-rc-legend"></strong>
|
|
<span id="diag-rc-output"></span>
|
|
</div>
|
|
</form>
|
|
|
|
<%+footer%>
|