diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index dfdeec602c23f9bba1d6a34c9e9c813316418a12..c00a8afdece4ef6296abded1878262877acc1a3b 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -1485,6 +1485,8 @@ public class I2PSnarkServlet extends BasicServlet { remainingSeconds = -1; MetaInfo meta = snark.getMetaInfo(); + String b64 = Base64.encode(snark.getInfoHash()); + String b64Short = b64.substring(0, 6); // isValid means isNotMagnet boolean isValid = meta != null; boolean isMultiFile = isValid && meta.getFiles() != null; @@ -1542,57 +1544,59 @@ public class I2PSnarkServlet extends BasicServlet { img = "complete"; txt = _t("Complete"); } - if (curPeers > 0 && !showPeers) + if (curPeers > 0 && !showPeers) { statusString = toThemeImg(img, "", txt) + "</td>" + "<td class=\"snarkTorrentStatus\">" + txt + - ": <a href=\"" + uri + getQueryString(req, Base64.encode(snark.getInfoHash()), null, null) + "\">" + + ": <a href=\"" + uri + getQueryString(req, b64, null, null) + '#' + b64Short + "\">" + curPeers + thinsp(noThinsp) + ngettext("1 peer", "{0} peers", knownPeers) + "</a>"; - else + } else { statusString = toThemeImg(img, "", txt) + "</td>" + "<td class=\"snarkTorrentStatus\">" + txt + ": " + curPeers + thinsp(noThinsp) + ngettext("1 peer", "{0} peers", knownPeers); + } } else { statusString = toThemeImg("complete", "", _t("Complete")) + "</td>" + "<td class=\"snarkTorrentStatus\">" + _t("Complete"); } } else { - if (isRunning && curPeers > 0 && downBps > 0 && !showPeers) + if (isRunning && curPeers > 0 && downBps > 0 && !showPeers) { statusString = toThemeImg("downloading", "", _t("OK")) + "</td>" + "<td class=\"snarkTorrentStatus\">" + _t("OK") + - ": <a href=\"" + uri + getQueryString(req, Base64.encode(snark.getInfoHash()), null, null) + "\">" + + ": <a href=\"" + uri + getQueryString(req, b64, null, null) + '#' + b64Short + "\">" + curPeers + thinsp(noThinsp) + ngettext("1 peer", "{0} peers", knownPeers) + "</a>"; - else if (isRunning && curPeers > 0 && downBps > 0) + } else if (isRunning && curPeers > 0 && downBps > 0) { statusString = toThemeImg("downloading", "", _t("OK")) + "</td>" + "<td class=\"snarkTorrentStatus\">" + _t("OK") + ": " + curPeers + thinsp(noThinsp) + ngettext("1 peer", "{0} peers", knownPeers); - else if (isRunning && curPeers > 0 && !showPeers) + } else if (isRunning && curPeers > 0 && !showPeers) { statusString = toThemeImg("stalled", "", _t("Stalled")) + "</td>" + "<td class=\"snarkTorrentStatus\">" + _t("Stalled") + - ": <a href=\"" + uri + getQueryString(req, Base64.encode(snark.getInfoHash()), null, null) + "\">" + + ": <a href=\"" + uri + getQueryString(req, b64, null, null) + '#' + b64Short + "\">" + curPeers + thinsp(noThinsp) + ngettext("1 peer", "{0} peers", knownPeers) + "</a>"; - else if (isRunning && curPeers > 0) + } else if (isRunning && curPeers > 0) { statusString = toThemeImg("stalled", "", _t("Stalled")) + "</td>" + "<td class=\"snarkTorrentStatus\">" + _t("Stalled") + ": " + curPeers + thinsp(noThinsp) + ngettext("1 peer", "{0} peers", knownPeers); - else if (isRunning && knownPeers > 0) + } else if (isRunning && knownPeers > 0) { statusString = toThemeImg("nopeers", "", _t("No Peers")) + "</td>" + "<td class=\"snarkTorrentStatus\">" + _t("No Peers") + ": 0" + thinsp(noThinsp) + knownPeers ; - else if (isRunning) + } else if (isRunning) { statusString = toThemeImg("nopeers", "", _t("No Peers")) + "</td>" + "<td class=\"snarkTorrentStatus\">" + _t("No Peers"); - else + } else { statusString = toThemeImg("stopped", "", _t("Stopped")) + "</td>" + "<td class=\"snarkTorrentStatus\">" + _t("Stopped"); + } } - out.write("<tr class=\"" + rowClass + "\">"); + out.write("<tr class=\"" + rowClass + "\" id=\"" + b64Short + "\">"); out.write("<td class=\"center\">"); out.write(statusString + "</td>\n\t"); @@ -1697,7 +1701,6 @@ public class I2PSnarkServlet extends BasicServlet { out.write(formatSize(upBps) + "ps"); out.write("</td>\n\t"); out.write("<td align=\"center\" class=\"snarkTorrentAction\">"); - String b64 = Base64.encode(snark.getInfoHash()); if (snark.isChecking()) { // show no buttons } else if (isRunning) {