2018-11-15 14:24:46 +00:00
<%@page contentType="text/html"%><%@page pageEncoding="UTF-8"%><jsp:useBean class="net.i2p.router.web.helpers.WizardHelper" id="wizhelper" scope="session" /><%
// note that for the helper we use a session scope, not a request scope,
// so that we can access the NDT test results.
// The MLabHelper singleton will prevent multiple simultaneous tests, even across sessions.
2018-11-13 17:46:18 +00:00
// page ID
2020-07-03 23:18:14 +00:00
final int LAST_PAGE = 6;
2018-11-13 17:46:18 +00:00
String pg = request.getParameter("page");
int ipg;
if (pg == null) {
ipg = 1;
} else {
try {
ipg = Integer.parseInt(pg);
if (request.getParameter("prev") != null) {
// previous button handling
2020-07-03 23:18:14 +00:00
if (ipg == 5)
ipg = 2;
2018-11-13 17:46:18 +00:00
else
ipg -= 2;
}
if (ipg <= 0 || ipg > LAST_PAGE) {
ipg = 1;
2020-07-03 23:18:14 +00:00
} else if (ipg == 3 && request.getParameter("skipbw") != null) {
2018-11-13 17:46:18 +00:00
ipg++; // skip bw test
}
} catch (NumberFormatException nfe) {
ipg = 1;
}
}
// detect completion
boolean done = request.getParameter("done") != null || request.getParameter("skip") != null;
if (done) {
// tell wizard helper we're done
String i2pcontextId = request.getParameter("i2p.contextId");
try {
if (i2pcontextId != null) {
session.setAttribute("i2p.contextId", i2pcontextId);
} else {
i2pcontextId = (String) session.getAttribute("i2p.contextId");
}
} catch (IllegalStateException ise) {}
wizhelper.setContextId(i2pcontextId);
wizhelper.complete();
// redirect to /home
response.setStatus(307);
2018-11-14 14:48:10 +00:00
response.setHeader("Cache-Control","no-cache");
2018-11-13 17:46:18 +00:00
String req = request.getRequestURL().toString();
int slash = req.indexOf("/welcome");
if (slash >= 0)
req = req.substring(0, slash) + "/home";
else // shouldn't happen
req = "http://127.0.0.1:7657/home";
response.setHeader("Location", req);
// force commitment
response.getOutputStream().close();
return;
}
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<%@include file="css.jsi" %>
<%=intl.title("New Install Wizard")%>
<%
2018-11-15 14:24:46 +00:00
wizhelper.setContextId(i2pcontextId);
2020-07-03 23:18:14 +00:00
if (ipg == 3) {
2018-11-13 17:46:18 +00:00
%>
2019-12-25 12:18:00 +00:00
<script src="/js/welcomeajax.js?<%=net.i2p.CoreVersion.VERSION%>" type="text/javascript"></script>
<script nonce="<%=cspNonce%>" type="text/javascript">
2018-11-16 14:34:11 +00:00
var failMessage = "<b><%=intl._t("Router is down")%><\/b>";
var progressMessage = "<b><%=intl._t("Bandwidth test in progress...")%><\/b>";
var doneMessage = "<b><%=intl._t("Bandwidth test is complete, click Next")%><\/b>";
2018-11-15 19:05:40 +00:00
function requestAjax1() { ajax("/welcomexhr1.jsp", "xhr", "1000"); }
2018-11-16 14:34:11 +00:00
function initAjax() {
document.getElementById("xhr").innerHTML = progressMessage;
setTimeout(requestAjax1, "1000");
}
2020-03-01 17:58:55 +00:00
document.addEventListener("DOMContentLoaded", function() {
initAjax();
}, true);
2018-11-13 17:46:18 +00:00
</script>
<%
2020-07-03 23:18:14 +00:00
} // ipg == 3
2018-11-13 17:46:18 +00:00
%>
2019-12-25 12:18:00 +00:00
</head><body>
2019-10-05 07:45:32 +00:00
<div id="wizard" class="overlay">
2019-10-04 05:11:42 +00:00
2018-11-15 14:24:46 +00:00
<jsp:useBean class="net.i2p.router.web.helpers.WizardHandler" id="formhandler" scope="request" />
2019-10-04 05:11:42 +00:00
2018-11-15 14:24:46 +00:00
<%
// Bind the session-scope Helper to the request-scope Handler
formhandler.setWizardHelper(wizhelper);
%>
2019-10-04 05:11:42 +00:00
<div class="wizardnotice">
2018-11-13 17:46:18 +00:00
<%@include file="formhandler.jsi" %>
2019-10-04 05:11:42 +00:00
</div>
2018-11-13 17:46:18 +00:00
<form action="" method="POST">
<input type="hidden" name="nonce" value="<%=pageNonce%>">
<input type="hidden" name="action" value="blah" >
<input type="hidden" name="page" value="<%=(ipg + 1)%>" >
<%
if (ipg == 1) {
// language selection
%>
<jsp:useBean class="net.i2p.router.web.helpers.ConfigUIHelper" id="uihelper" scope="request" />
<jsp:setProperty name="uihelper" property="contextId" value="<%=i2pcontextId%>" />
<%-- needed for CSS: --%><div id="config_ui">
<%-- needed for lang setting in css.jsi: --%><input type="hidden" name="consoleNonce" value="<%=net.i2p.router.web.CSSHelper.getNonce()%>" >
2020-07-03 16:15:32 +00:00
<img class="wizard progress" src="/themes/console/images/wizard/wizardlogo.png">
2020-07-03 23:18:14 +00:00
<h3 id="wizardheading" class="wizard"><%=uihelper._t("Select Language")%></h3>
2020-06-23 21:51:53 +00:00
<img class="wizardimg" src="/themes/console/images/wizard/step-0.png">
2020-06-24 18:02:25 +00:00
<div class="clickableProgression">
<span class="currentProgression">⬤</span>
<span class="unvisitedProgression">◯</span>
<span class="unvisitedProgression">◯</span>
<span class="unvisitedProgression">◯</span>
<span class="unvisitedProgression">◯</span>
<span class="unvisitedProgression">◯</span>
</div>
2019-10-03 05:44:53 +00:00
<div id="wizlangsettings" class="wizard">
2018-11-13 17:46:18 +00:00
<jsp:getProperty name="uihelper" property="langSettings" />
2019-10-03 05:44:53 +00:00
</div>
<div class="wizardtext">
2019-10-15 23:57:09 +00:00
<p>
2020-07-27 17:01:48 +00:00
<%=intl._t("This project is supported by Transifex and OTF through the Localization Lab.")%>
<%=intl._t("This helps keep I2P accessible to everyone all over the world.")%>
<%=intl._t("Thank you to all of the volunteers all over the world who help make I2P accessible.")%>
<%=intl._t("If you would like to get involved,")%>
<a href="https://www.transifex.com/projects/p/I2P/" target="_blank"><%=intl._t("please consider the I2P translation efforts.")%></a>
2020-07-03 23:18:14 +00:00
</p>
<p>
2020-07-29 02:38:56 +00:00
<%=intl._t("Please select your preferred language:")%>
2019-10-15 23:57:09 +00:00
</p>
2019-10-03 05:44:53 +00:00
</div>
2020-07-03 23:18:14 +00:00
</div>
2018-11-13 17:46:18 +00:00
<%
2020-07-03 23:18:14 +00:00
} else if (ipg == 2) {
2018-11-13 17:46:18 +00:00
// Overview of bandwidth test
%>
2020-07-03 16:15:32 +00:00
<img class="wizard progress" src="/themes/console/images/wizard/wizardlogo.png">
2019-10-03 05:44:53 +00:00
<h3 id="wizardheading" class="wizard"><%=intl._t("Bandwidth Test")%></h3>
2020-06-23 21:51:53 +00:00
<img class="wizardimg" src="/themes/console/images/wizard/step-2.png">
2020-06-24 18:02:25 +00:00
<div class="clickableProgression">
<span class="visitedProgression">◯</span>
<span class="currentProgression">⬤</span>
<span class="unvisitedProgression">◯</span>
<span class="unvisitedProgression">◯</span>
<span class="unvisitedProgression">◯</span>
2020-07-03 23:18:14 +00:00
<span class="unvisitedProgression">◯</span>
2020-06-24 18:02:25 +00:00
</div>
2019-10-03 05:44:53 +00:00
<div class="wizardtext">
2018-11-13 17:46:18 +00:00
<p>
2020-07-27 17:01:48 +00:00
<%=intl._t("Let's check your internet connection!")%>
</p>
<p>
<%=intl._t("Bandwidth participation not only makes your speed and connection to the I2P network better, but also helps everyone using the network.")%>
<%=intl._t("When everyone is sharing as much bandwidth as possible, everyone gets to have better performance and privacy by sharing participating traffic.")%>
</p>
<p>
<%=intl._t("I2P uses M-Lab to help you test your internet connection and find the optimal speed settings.")%>
<%=intl._t("M-Lab is a third-party service.")%>
<%=intl._t("During this time you will be connected directly to M-Lab's service with your real IP address.")%>
2019-01-02 13:19:12 +00:00
</p><p>
2018-11-13 17:46:18 +00:00
<%=intl._t("Please review the M-Lab privacy policies linked below.")%>
2020-07-27 17:01:48 +00:00
<%=intl._t("If you do not wish to run the M-Lab bandwidth test, you can skip it and configure your bandwidth later.")%>
2018-11-13 17:46:18 +00:00
</p><p>
<a href="https://www.measurementlab.net/privacy/" target="_blank"><%=intl._t("M-Lab Privacy Policy")%></a>
<br><a href="https://github.com/m-lab/mlab-ns/blob/master/MLAB-NS_PRIVACY_POLICY.md" target="_blank"><%=intl._t("M-Lab Name Server Privacy Policy")%></a>
</p>
2019-10-03 05:44:53 +00:00
</div>
2018-11-13 17:46:18 +00:00
<%
2020-07-03 23:18:14 +00:00
} else if (ipg == 3) {
2018-11-13 17:46:18 +00:00
// Bandwidth test in progress (w/ AJAX)
%>
2020-07-03 16:15:32 +00:00
<img class="wizard progress" src="/themes/console/images/wizard/wizardlogo.png">
2019-10-03 05:44:53 +00:00
<h3 id="wizardheading" class="wizard"><%=intl._t("Bandwidth Test in Progress")%></h3>
2020-06-23 21:51:53 +00:00
<img class="wizardimg" src="themes/console/images/wizard/step-3.png">
2020-06-24 18:02:25 +00:00
<div class="clickableProgression">
<span class="visitedProgression">◯</span>
<span class="visitedProgression">◯</span>
<span class="currentProgression">⬤</span>
<span class="unvisitedProgression">◯</span>
<span class="unvisitedProgression">◯</span>
2020-07-03 23:18:14 +00:00
<span class="unvisitedProgression">◯</span>
2020-06-24 18:02:25 +00:00
</div>
2019-10-03 05:44:53 +00:00
<div id="xhr" class="notifcation">
2018-11-15 19:05:40 +00:00
<!-- for non-script -->
<%=intl._t("Javascript is disabled - wait 60 seconds for the bandwidth test to complete and then click Next")%>
</div>
2019-10-03 05:44:53 +00:00
<div id="xhr2" class="notification">
2018-11-16 14:34:11 +00:00
</div>
2020-07-03 23:18:14 +00:00
<div class="wizardtext">
<p>
<%=intl._t("While the I2P router software is getting ready to go, it's testing your bandwidth, obtaining an initial")%>
2020-07-27 17:01:48 +00:00
<%=intl._t("set of peers from a reseed server, making it's first few connections, and getting")%>
2020-07-03 23:18:14 +00:00
<%=intl._t("integrated with the rest of the network.")%>
</p>
<p>
2020-07-27 17:01:48 +00:00
<%=intl._t("To learn more about how important I2P Reseed servers are, or explore other topics and what functions they perform for I2P, you can visit the")%>
<a href="http://geti2p.net" target="_blank"><%=intl._t("I2P web site")%></a><%=intl._t(", our")%>
<a href="http://wiki.i2p-projekt.i2p" target="_blank"><%=intl._t("I2P Wiki")%></a><%=intl._t(", or contact us on our")%>
2020-07-03 23:18:14 +00:00
<a href="http://i2pforum.net" target="_blank"><%=intl._t("forums")%></a>
<%=intl._t("to get help from the community.")%>
</p>
</div>
2018-11-13 17:46:18 +00:00
<%
2020-07-03 23:18:14 +00:00
} else if (ipg == 4) {
2018-11-13 17:46:18 +00:00
// Bandwidth test results
// and/or manual bw entry?
%>
<jsp:useBean class="net.i2p.router.web.helpers.ConfigNetHelper" id="nethelper" scope="request" />
<jsp:setProperty name="nethelper" property="contextId" value="<%=i2pcontextId%>" />
2018-11-18 13:43:18 +00:00
<%
if (request.getParameter("skipbw") == null) {
// don't display this if we skipped the test
%>
2020-07-03 16:15:32 +00:00
<img class="wizard progress" src="/themes/console/images/wizard/wizardlogo.png">
2019-10-03 05:44:53 +00:00
<h3 id="wizardheading" class="wizard bwtest"><%=intl._t("Bandwidth Test Results")%></h3>
2020-06-24 18:02:25 +00:00
<div class="clickableProgression">
<span class="visitedProgression">◯</span>
<span class="visitedProgression">◯</span>
<span class="visitedProgression">◯</span>
<span class="currentProgression">⬤</span>
<span class="unvisitedProgression">◯</span>
<span class="unvisitedProgression">◯</span>
</div>
2019-10-03 05:44:53 +00:00
<table class="mlabtable">
2020-06-23 21:51:53 +00:00
<tr><td><%=intl._t("Test server location")%></td><td colspan="3"><%=wizhelper.getServerLocation()%></td></tr>
<tr><td><%=intl._t("Completion status")%></td><td colspan="3"><%=wizhelper.getCompletionStatus()%></td></tr>
2018-11-18 16:13:47 +00:00
<%
if (wizhelper.isNDTSuccessful()) {
// don't display this if test failed
%>
2020-06-23 21:51:53 +00:00
<tr><td><%=intl._t("Details")%></td><td colspan="3"><%=wizhelper.getDetailStatus()%></td></tr>
<tr><td><%=intl._t("Downstream Bandwidth")%></td><td><%=net.i2p.data.DataHelper.formatSize2Decimal(wizhelper.getDownBandwidth())%>Bps</td>
<td><%=intl._t("Upstream Bandwidth")%></td><td><%=net.i2p.data.DataHelper.formatSize2Decimal(wizhelper.getUpBandwidth())%>Bps</td></tr>
2018-11-15 16:45:21 +00:00
<tr><td><%=intl._t("Share of Bandwidth for I2P")%></td><td><%=Math.round(net.i2p.router.web.helpers.WizardHelper.BW_SCALE * 100)%>%</td></tr>
2018-11-18 16:13:47 +00:00
<%
} // sucessful
%>
2018-11-13 17:46:18 +00:00
</table>
2018-11-18 13:43:18 +00:00
<%
} // skipbw
%>
2020-07-03 16:15:32 +00:00
<img class="wizard progress" src="/themes/console/images/wizard/wizardlogo.png">
2019-10-03 05:44:53 +00:00
<h3 id="wizardheading" class="wizard"><%=intl._t("Bandwidth Configuration")%></h3>
2020-06-24 18:02:25 +00:00
<img class="wizardimg" src="/themes/console/images/wizard/step-4.png">
2019-10-03 05:44:53 +00:00
<style>
.bwtest {
display: none;
}
</style>
2019-10-04 05:11:42 +00:00
<table id="bandwidthconfig" class="configtable wizardtable">
<tr><td class="infohelp infodiv" colspan="2">
2018-11-13 17:46:18 +00:00
<%=intl._t("I2P will work best if you configure your rates to match the speed of your internet connection.")%>
</td></tr>
2018-11-15 16:45:21 +00:00
<tr><td><input style="text-align: right; width: 5em;" name="inboundrate" type="text" size="5" maxlength="5" value="<jsp:getProperty name="wizhelper" property="inboundBurstRate" />" >
2018-11-13 17:46:18 +00:00
<%=intl._t("KBps In")%>
2018-11-15 16:45:21 +00:00
</td><td>(<jsp:getProperty name="wizhelper" property="inboundBurstRateBits" />)</td>
2019-10-03 05:44:53 +00:00
</tr>
<tr>
2018-11-13 17:46:18 +00:00
<%-- display burst, set standard, handler will fix up --%>
2018-11-15 16:45:21 +00:00
<td><input style="text-align: right; width: 5em;" name="outboundrate" type="text" size="5" maxlength="5" value="<jsp:getProperty name="wizhelper" property="outboundBurstRate" />" >
2018-11-13 17:46:18 +00:00
<%=intl._t("KBps Out")%>
2018-11-15 16:45:21 +00:00
</td><td>(<jsp:getProperty name="wizhelper" property="outboundBurstRateBits" />)</td>
2019-10-03 05:44:53 +00:00
</tr>
<tr>
2018-11-13 17:46:18 +00:00
<td><jsp:getProperty name="nethelper" property="sharePercentageBox" /> <%=intl._t("Share")%></td>
2018-11-15 16:45:21 +00:00
<td>(<jsp:getProperty name="wizhelper" property="shareRateBits" />)
2018-11-13 17:46:18 +00:00
</td></tr>
2019-10-03 05:44:53 +00:00
</table>
<div id="infodiv">
2018-11-15 16:45:21 +00:00
<% int share = Math.round(wizhelper.getShareBandwidth() * 1.024f);
2018-11-13 17:46:18 +00:00
if (share < 12) {
out.print("<b>");
out.print(intl._t("NOTE"));
out.print("</b>: ");
out.print(intl._t("You have configured I2P to share only {0} KBps.", share));
2020-07-03 23:18:14 +00:00
out.print("</br>");
2018-11-13 17:46:18 +00:00
out.print(intl._t("I2P requires at least 12KBps to enable sharing. "));
2020-07-03 23:18:14 +00:00
out.print(intl._t("By donating your bandwidth to participating traffic, you not only help others, you improve "));
2020-07-27 17:01:48 +00:00
out.print(intl._t("your own anonymity and performance."));
2020-07-03 23:18:14 +00:00
out.print("</br>");
out.print(intl._t("We recommend sharing 75% or more for I2P, but you can adjust based on your needs."));
2018-11-13 17:46:18 +00:00
} else {
out.print(intl._t("You have configured I2P to share {0} KBps.", share));
2020-07-03 23:18:14 +00:00
out.print("</br>");
2018-11-13 17:46:18 +00:00
2020-07-03 23:18:14 +00:00
out.print(intl._t("By donating your bandwidth to participating traffic, you not only help others, you improve "));
2020-07-27 17:01:48 +00:00
out.print(intl._t("your own anonymity and performance."));
2020-07-03 23:18:14 +00:00
out.print("</br>");
out.print(intl._t("We recommend sharing 75% or more for I2P, but you can adjust based on your needs."));
2018-11-13 17:46:18 +00:00
}
2019-10-03 05:44:53 +00:00
%>
</div>
2018-11-13 17:46:18 +00:00
<%
2020-07-03 23:18:14 +00:00
} else if (ipg == 5) {
2018-11-13 17:46:18 +00:00
// Browser setup
%>
2020-07-03 16:15:32 +00:00
<img class="wizard progress" src="/themes/console/images/wizard/wizardlogo.png">
2020-07-03 23:18:14 +00:00
<h3 id="wizardheading" class="wizard"><%=intl._t("Browser and Application Setup")%></h3>
2020-06-24 18:02:25 +00:00
<img class="wizardimg" src="/themes/console/images/wizard/step-5.png">
<div class="clickableProgression">
<span class="visitedProgression">◯</span>
<span class="visitedProgression">◯</span>
<span class="visitedProgression">◯</span>
<span class="visitedProgression">◯</span>
<span class="currentProgression">⬤</span>
<span class="unvisitedProgression">◯</span>
</div>
2019-10-03 05:44:53 +00:00
<div class="wizardtext"><p>
2018-12-03 12:03:27 +00:00
<%=intl._t("Your browser needs to be configured to work with I2P.")%>
2020-06-09 17:11:43 +00:00
<%=intl._t("We have instructions for configuring both Firefox and Chromium based browsers with I2P.")%>
2020-06-09 17:09:36 +00:00
<a href="https://geti2p.net/htproxyports" target="_blank"><%=intl._t("You can find these instructions on our website")%></a>.
2018-12-03 12:03:27 +00:00
<%
if (net.i2p.util.SystemVersion.isWindows()) {
%>
2019-01-02 13:19:12 +00:00
</p><p>
2018-12-03 12:03:27 +00:00
<%=intl._t("Otherwise, the recommended way to browse I2P websites is with a separate profile in the Firefox browser.")%>
2019-01-02 13:19:12 +00:00
<ol><li><a href="https://www.mozilla.org/firefox/" target="_blank"><%=intl._t("Install Firefox")%></a>
2019-01-15 16:05:40 +00:00
</li><li><a href="https://geti2p.net/firefox" target="_blank"><%=intl._t("Install the I2P Firefox profile")%></a>
2018-12-03 12:03:27 +00:00
</li></ol>
<%
} //isWindows()
%>
2020-07-03 23:18:14 +00:00
</p>
<p>
<%=intl._t("The I2P router also comes with it's own versions of common, useful internet applications like")%>
2020-07-29 02:38:56 +00:00
<a href="/torrents" target="_blank"><%=intl._t("bittorrent,")%></a>
<a href="/webmail" target="_blank"><%=intl._t("e-mail,")%></a>
<%=intl._t("and a")%>
2020-07-27 17:01:48 +00:00
<a href="/i2ptunnel" target="_blank"><%=intl._t("web server")%></a>
<%=intl._t("so you can create, communicate, and share your content.")%>
2020-07-03 23:18:14 +00:00
<%=intl._t("These applications work with I2P automatically and require no additional configuration.")%>
</p>
<p>
<%=intl._t("Normally, I2P addresses are long and random. To help make I2P addresses easier to read and remember,")%>
<%=intl._t("the I2P router also includes it's own built-in")%>
<a href="/dns" target="_blank"><%=intl._t("Address Book")%></a>
2020-07-27 17:01:48 +00:00
<%=intl._t("which is where you keep track of all your I2P \"Contacts\" by")%>
<%=intl._t("giving them human-readable names. This can be used for the sites you like to visit, messaging contacts, or potentially any other service on I2P.")%>
<%=intl._t("To help you get started, the address book can be used to subscribe to lists of")%>
<%=intl._t("addresses distributed by other I2P users.")%>
2020-07-03 23:18:14 +00:00
</p>
</div>
2018-11-13 17:46:18 +00:00
<%
} else if (ipg == LAST_PAGE) {
// Done
%>
2020-07-03 16:15:32 +00:00
<img class="wizard progress" src="/themes/console/images/wizard/wizardlogo.png">
2020-07-27 17:01:48 +00:00
<h3 id="wizardheading" class="wizard"><%=intl._t("Welcome to the Invisible Internet!")%></h3>
2020-06-24 18:02:25 +00:00
<img class="wizardimg" src="/themes/console/images/wizard/step-6.png">
<div class="clickableProgression">
<span class="visitedProgression">◯</span>
<span class="visitedProgression">◯</span>
<span class="visitedProgression">◯</span>
<span class="visitedProgression">◯</span>
<span class="visitedProgression">◯</span>
<span class="currentProgression">⬤</span>
</div>
2019-10-03 05:44:53 +00:00
<div class="wizardtext">
2018-12-03 12:03:27 +00:00
<p>
2020-07-27 17:01:48 +00:00
<%=intl._t("It will take some time for your peers to integrate your router into the network,")%>
<%=intl._t("but while that is happening you can still explore I2P applications and get to know your way around the router console.")%>
2020-07-29 02:38:56 +00:00
<%=intl._t("There is a quick guide, news about the latest release, an FAQ, and troubleshooting guide available on the /console page.")%>
2019-01-02 13:19:12 +00:00
</p><p>
2020-07-27 17:01:48 +00:00
<%=intl._t("You may notice a message in the sidebar that I2P is rejecting tunnels.")%>
<%=intl._t("This is normal behavior as part of the start-up process, to make sure that")%>
<%=intl._t("your router is ready to help others with participating traffic.")%>
<%=intl._t("When the connection indicators in the sidebar turn green, you are ready to")%>
<%=intl._t("explore the Invisible Internet.")%>
2018-12-03 12:03:27 +00:00
</p>
2019-10-03 05:44:53 +00:00
</div>
2018-11-13 17:46:18 +00:00
<%
} else {
%>
2019-10-03 05:44:53 +00:00
<table class="configtable wizard"><tr><td>unknown wizard page</td></tr></table>
2018-11-13 17:46:18 +00:00
<%
}
%>
2019-10-03 05:44:53 +00:00
<div class="wizardbuttons wizard">
<table class="configtable wizard"><tr class="wizard"><td class="optionsave wizard">
2018-11-13 17:46:18 +00:00
<%
if (ipg != 1) {
%>
2019-10-04 05:11:42 +00:00
<input type="submit" class="back wizardbutton" name="prev" value="<%=intl._t("Previous")%>" >
2018-11-13 17:46:18 +00:00
<%
}
if (ipg != LAST_PAGE) {
%>
2019-10-04 05:11:42 +00:00
<input type="submit" class="cancel wizardbutton" name="skip" value="<%=intl._t("Skip Setup")%>" >
2018-11-13 17:46:18 +00:00
<%
2020-07-03 23:18:14 +00:00
if (ipg == 2) {
2018-11-13 17:46:18 +00:00
%>
2019-10-04 05:11:42 +00:00
<input type="submit" class="cancel wizardbutton" name="skipbw" value="<%=intl._t("Skip Bandwidth Test")%>" >
2018-11-13 17:46:18 +00:00
<%
2020-07-03 23:18:14 +00:00
} else if (ipg == 3) {
2018-11-13 17:46:18 +00:00
%>
2019-10-04 05:11:42 +00:00
<input type="submit" class="cancel wizardbutton" name="cancelbw" value="<%=intl._t("Cancel Bandwidth Test")%>" >
2018-11-13 17:46:18 +00:00
<%
}
%>
2019-10-04 05:11:42 +00:00
<input type="submit" class="go wizardbutton" name="next" value="<%=intl._t("Next")%>" >
2018-11-13 17:46:18 +00:00
<%
} else {
%>
2019-10-04 05:11:42 +00:00
<input type="submit" class="accept wizardbutton" name="done" value="<%=intl._t("Finished")%>" >
2018-11-13 17:46:18 +00:00
<%
}
%>
2018-11-15 14:24:46 +00:00
</td></tr></table></div>
2018-11-13 17:46:18 +00:00
</form>
</div></body></html>