X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FDomainOverview.java;h=d8868f93817178023661515cec0879012785a39b;hp=4b298f87e5db08dbc2497277d3f9808291664f76;hb=7d12c09641a69f141b92d9914d0915d62a436a2d;hpb=2cef253ba7943a41231e703674bdaad9b9770968 diff --git a/src/org/cacert/gigi/pages/account/DomainOverview.java b/src/org/cacert/gigi/pages/account/DomainOverview.java index 4b298f87..d8868f93 100644 --- a/src/org/cacert/gigi/pages/account/DomainOverview.java +++ b/src/org/cacert/gigi/pages/account/DomainOverview.java @@ -2,17 +2,25 @@ package org.cacert.gigi.pages.account; import java.io.IOException; import java.util.HashMap; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.cacert.gigi.Domain; +import org.cacert.gigi.GigiApiException; import org.cacert.gigi.User; +import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.Form; +import org.cacert.gigi.output.template.IterableDataset; +import org.cacert.gigi.output.template.Template; import org.cacert.gigi.pages.Page; public class DomainOverview extends Page { - public static final String PATH = "/account/domains"; + public static final String PATH = "/account/domains/"; + + private Template domainDetails = new Template(DomainOverview.class.getResource("DomainDetails.templ")); public DomainOverview(String title) { super(title); @@ -21,6 +29,48 @@ public class DomainOverview extends Page { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { User u = getUser(req); + String pi = req.getPathInfo(); + if (pi.length() - PATH.length() > 0) { + int i = Integer.parseInt(pi.substring(PATH.length())); + Domain d = Domain.getById(i); + if (u.getId() != d.getOwner().getId()) { + System.out.println(u.getId()); + System.out.println(d.getOwner().getId()); + return; + } + try { + final String[][] pings = d.getPings(); + HashMap vars = new HashMap<>(); + vars.put("domainname", d.getSuffix()); + vars.put("pings", new IterableDataset() { + + int counter = 0; + + @Override + public boolean next(Language l, Map vars) { + if (counter >= pings.length) { + return false; + } + vars.put("state", pings[counter][0]); + vars.put("type", pings[counter][1]); + vars.put("config", pings[counter][2]); + String ping3 = pings[counter][3]; + if (ping3 == null) { + vars.put("result", ""); + } else { + vars.put("result", ping3); + } + counter++; + return true; + } + }); + domainDetails.output(resp.getWriter(), getLanguage(req), vars); + return; + } catch (GigiApiException e) { + e.format(resp.getWriter(), getLanguage(req)); + } + + } DomainManagementForm domMan = new DomainManagementForm(req, u); DomainAddForm domAdd = new DomainAddForm(req, u); HashMap vars = new HashMap<>();