X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FGigi.java;h=7a9aaffd4e00681ee6b698d4f75e3af632a0d927;hb=1a7b5b300fcbe7aa978dc131b57b31909161139c;hp=710ddb43833aa3532438b976b246446afc5d3cf8;hpb=59198645fd008ca876d4e6eb9405bfd71a4e6951;p=gigi.git diff --git a/src/org/cacert/gigi/Gigi.java b/src/org/cacert/gigi/Gigi.java index 710ddb43..7a9aaffd 100644 --- a/src/org/cacert/gigi/Gigi.java +++ b/src/org/cacert/gigi/Gigi.java @@ -22,8 +22,10 @@ import org.cacert.gigi.output.Outputable; import org.cacert.gigi.output.PageMenuItem; import org.cacert.gigi.output.template.Template; import org.cacert.gigi.pages.LoginPage; +import org.cacert.gigi.pages.LogoutPage; import org.cacert.gigi.pages.MainPage; import org.cacert.gigi.pages.Page; +import org.cacert.gigi.pages.StaticPage; import org.cacert.gigi.pages.TestSecure; import org.cacert.gigi.pages.Verify; import org.cacert.gigi.pages.account.CertificateAdd; @@ -35,6 +37,8 @@ import org.cacert.gigi.pages.account.MyDetails; import org.cacert.gigi.pages.error.PageNotFound; import org.cacert.gigi.pages.main.RegisterPage; import org.cacert.gigi.pages.wot.AssurePage; +import org.cacert.gigi.pages.wot.MyPoints; +import org.cacert.gigi.ping.PingerDaemon; import org.cacert.gigi.util.ServerConstants; public class Gigi extends HttpServlet { @@ -59,32 +63,38 @@ public class Gigi extends HttpServlet { private static Gigi instance; + private PingerDaemon pinger = new PingerDaemon(); + public Gigi(Properties conf) { if (instance != null) { new IllegalStateException("Multiple Gigi instances!"); } instance = this; DatabaseConnection.init(conf); + pinger.start(); } @Override public void init() throws ServletException { if ( !firstInstanceInited) { putPage("/error", new PageNotFound(), null); - putPage("/login", new LoginPage("CACert - Login"), "Join CAcert.org"); - putPage("/", new MainPage("CACert - Home"), null); + putPage("/login", new LoginPage("CAcert - Login"), "Join CAcert.org"); + putPage("/", new MainPage("CAcert - Home"), null); putPage(ChangePasswordPage.PATH, new ChangePasswordPage(), "My Account"); + putPage(LogoutPage.PATH, new LogoutPage("Logout"), "My Account"); putPage("/secure", new TestSecure(), null); putPage(Verify.PATH, new Verify(), null); putPage(AssurePage.PATH + "/*", new AssurePage(), "CAcert Web of Trust"); putPage(Certificates.PATH + "/*", new Certificates(), "Certificates"); putPage(MyDetails.PATH, new MyDetails(), "My Account"); - putPage(RegisterPage.PATH, new RegisterPage(), "My Account"); + putPage(RegisterPage.PATH, new RegisterPage(), "Join CAcert.org"); putPage(CertificateAdd.PATH, new CertificateAdd(), "Certificates"); putPage(MailOverview.DEFAULT_PATH, new MailOverview("My email addresses"), "Certificates"); - putPage(DomainOverview.PATH, new DomainOverview("Domains"), "Certificates"); + putPage(DomainOverview.PATH + "*", new DomainOverview("Domains"), "Certificates"); + putPage(MyPoints.PATH, new MyPoints("My Points"), "CAcert Web of Trust"); + putPage("/wot/rules", new StaticPage("CAcert Web of Trust Rules", AssurePage.class.getResourceAsStream("Rules.templ")), "CAcert Web of Trust"); baseTemplate = new Template(Gigi.class.getResource("Gigi.templ")); - rootMenu = new Menu("Main", ""); + rootMenu = new Menu("Main"); for (Menu menu : categories) { menu.prepare(); rootMenu.addItem(menu); @@ -109,7 +119,7 @@ public class Gigi extends HttpServlet { } } if (m == null) { - m = new Menu(category, ""); + m = new Menu(category); categories.add(m); } m.addItem(new PageMenuItem(p)); @@ -124,14 +134,6 @@ public class Gigi extends HttpServlet { // return; // } HttpSession hs = req.getSession(); - if (req.getPathInfo() != null && req.getPathInfo().equals("/logout")) { - if (hs != null) { - hs.setAttribute(LOGGEDIN, null); - hs.invalidate(); - } - resp.sendRedirect("/"); - return; - } final Page p = getPage(req.getPathInfo()); if (p != null) { @@ -177,7 +179,7 @@ public class Gigi extends HttpServlet { }; vars.put(Menu.USER_VALUE, currentPageUser); vars.put("menu", rootMenu); - vars.put("title", p.getTitle()); + vars.put("title", Page.getLanguage(req).getTranslation(p.getTitle())); vars.put("static", ServerConstants.getStaticHostNamePort()); vars.put("year", Calendar.getInstance().get(Calendar.YEAR)); vars.put("content", content); @@ -239,7 +241,7 @@ public class Gigi extends HttpServlet { } public static String getPathByPage(Page p) { - return instance.reveresePages.get(p).replaceFirst("\\*$", ""); + return instance.reveresePages.get(p).replaceFirst("/?\\*$", ""); } }