You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

131 lines
4.6 KiB

<%+header%>
<ul class="cbi-tabmenu">
<li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan3/advanced/hotplug")%>"><%:Hotplug Script%></a></li>
<li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan3/advanced/mwan3")%>"><%:MWAN3 Config%></a></li>
<li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan3/advanced/network")%>"><%:Network Config%></a></li>
<li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/network/mwan3/advanced/diag")%>"><%:Diagnostics%></a></li>
<li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan3/advanced/tshoot")%>"><%:Troubleshooting%></a></li>
</ul>
<%
local uci = require "luci.model.uci"
str = ""
uci.cursor():foreach("mwan3", "interface",
function (section)
str = str .. section[".name"] .. " "
end
)
%>
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<script type="text/javascript">//<![CDATA[
var stxhr = new XHR();
function update_status(tool, alt)
{
var iface = document.getElementById('mwan3iface').value;
var output = document.getElementById('diag_output');
if (tool == "service")
{
output.innerHTML =
'<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="padding: 20px; vertical-align: middle;" /> ' +
"Waiting for MWAN3 to " + alt + "..."
;
}
else
{
output.innerHTML =
'<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="padding: 20px; vertical-align: middle;" /> ' +
"Waiting for diagnostic results..."
;
}
output.parentNode.style.display = 'block';
output.style.display = 'inline';
stxhr.get('<%=luci.dispatcher.build_url("admin", "network", "mwan3", "advanced")%>/diag_display' + '/' + iface + '/' + tool + '/' + alt, null,
function(x, st)
{
if (st.diagres)
{
output.innerHTML = String.format('<pre id="diag_output_css">%h</pre>', st.diagres[0].diagresult);
}
else
{
var temp = '';
var ncint = 'No diagnostic results returned';
temp = String.format('<pre id="diag_output_css"><strong>%s</strong></pre>', ncint);
output.innerHTML = temp;
}
}
);
}
//]]></script>
<div id="mwan3_diagnostics" class="cbi-map">
<fieldset id="diag_select" class="cbi-section">
<legend><%:MWAN3 Interface Diagnostics%></legend>
<select id="mwan3iface">
<% for z in str:gmatch("[^ ]+") do -%><option value="<%=z%>"><%=z%></option><%- end %>
</select>
<div id="buttoncss">
<input type="button" value="<%:Ping default gateway%>" class="cbi-button cbi-button-apply" onclick="update_status('ping', 'gateway')" />
<input type="button" value="<%:Ping tracking IP%>" class="cbi-button cbi-button-apply" onclick="update_status('ping', 'track_ip')" />
<input type="button" value="<%:Check IP rules%>" class="cbi-button cbi-button-apply" onclick="update_status('rulechk', null)" />
<input type="button" value="<%:Check routing table%>" class="cbi-button cbi-button-apply" onclick="update_status('routechk', null)" />
<input type="button" value="<%:Hotplug ifup%>" class="cbi-button cbi-button-apply" onclick="update_status('hotplug', 'ifup')" />
<input type="button" value="<%:Hotplug ifdown%>" class="cbi-button cbi-button-apply" onclick="update_status('hotplug', 'ifdown')" />
</div>
</fieldset>
<fieldset id="diag_select" class="cbi-section">
<legend><%:MWAN3 Service Control%></legend>
<div id="buttoncss">
<input type="button" value="<%:Restart MWAN3%>" class="cbi-button cbi-button-apply" onclick="update_status('service', 'restart')" />
<input type="button" value="<%:Stop MWAN3%>" class="cbi-button cbi-button-apply" onclick="update_status('service', 'stop')" />
<input type="button" value="<%:Start MWAN3%>" class="cbi-button cbi-button-apply" onclick="update_status('service', 'start')" />
</div>
</fieldset>
<fieldset class="cbi-section" style="display:none">
<legend><%:Diagnostic Results%></legend>
<div id="diag_output"></div>
</fieldset>
</div>
<style type="text/css">
.container { /*container for entire page. fixes bootstrap theme's ridiculously small page width*/
max-width: none;
margin-left: 30px;
padding-right: 30px;
width: auto;
}
#mwan3_diagnostics {
background-color: #FFFFFF;
border: 1px dotted #555555;
padding: 20px;
}
#diag_select {
padding: 12px 20px 20px 20px;
}
#mwan3iface {
float: left;
margin: 8px 20px 0px 0px;
}
#buttoncss {
display: table;
float: left;
text-align: left;
}
.cbi-button {
margin: 8px 20px 0px 0px;
min-width: 153px;
}
#diag_output_css {
padding: 20px;
text-align: left;
}
</style>
<%+footer%>