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;
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 {
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(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);
}
}
if (m == null) {
- m = new Menu(category, "");
+ m = new Menu(category);
categories.add(m);
}
m.addItem(new PageMenuItem(p));
// 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) {
};
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);