<%# 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("/usr/bin/traceroute6") %> <script type="text/javascript" src="<%=resource%>/cbi.js"></script> <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.get('<%=url('freifunk/status')%>/diag_' + tool + protocol + '/' + addr, null, 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="<%=pcdata(luci.http.getenv("REQUEST_URI"))%>"> <div class="cbi-map"> <h2 name="content"><%:Diagnostics%></h2> <fieldset class="cbi-section"> <legend><%:Network Utilities%></legend> <br /> <div style="width:30%; float:left"> <input style="margin: 5px 0" type="text" value="dev.openwrt.org" name="ping" /><br /> <% if has_ping6 then %> <select name="ping_proto" style="width:auto"> <option value="" selected="selected"><%:IPv4%></option> <option value="6"><%:IPv6%></option> </select> <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 style="width:33%; float:left"> <input style="margin: 5px 0" type="text" value="dev.openwrt.org" name="traceroute" /><br /> <% if has_traceroute6 then %> <select name="traceroute_proto" style="width:auto"> <option value="" selected="selected"><%:IPv4%></option> <option value="6"><%:IPv6%></option> </select> <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 style="width:33%; float:left;"> <input style="margin: 5px 0" type="text" value="openwrt.org" name="nslookup" /><br /> <input type="button" value="<%:Nslookup%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.nslookup)" /> </div> <br style="clear:both" /><br /> </fieldset> </div> <fieldset class="cbi-section" style="display:none"> <legend id="diag-rc-legend"><%:Collecting data...%></legend> <span id="diag-rc-output"></span> </fieldset> </form> <%+footer%>