- pages.put("/error", new PageNotFound());
- pages.put("/login", new LoginPage("CACert - Login"));
- pages.put("/", new MainPage("CACert - Home"));
- pages.put("/secure", new TestSecure());
- pages.put(Verify.PATH, new Verify());
- pages.put(AssurePage.PATH + "/*", new AssurePage());
- pages.put(Certificates.PATH + "/*", new Certificates());
- pages.put(MyDetails.PATH, new MyDetails());
- pages.put(ChangePasswordPage.PATH, new ChangePasswordPage());
- pages.put(RegisterPage.PATH, new RegisterPage());
- pages.put(CertificateAdd.PATH, new CertificateAdd());
- pages.put(MailOverview.DEFAULT_PATH, new MailOverview("My email addresses"));
- pages.put(DomainOverview.PATH, new DomainOverview("Domains"));
- baseTemplate = new Template(Gigi.class.getResource("Gigi.templ"));
- m = new Menu("Certificates", "cert", new MenuItem(MailOverview.DEFAULT_PATH, "Emails"), new MenuItem("", "Client Certificates"), new MenuItem("", "Domains"), new MenuItem("", "Server Certificates"));
+ if ( !firstInstanceInited) {
+ putPage("/denied", new AccessDenied(), null);
+ putPage("/error", new PageNotFound(), null);
+ putPage("/login", new LoginPage("Password Login"), "CAcert.org");
+ getMenu("CAcert.org").addItem(new SimpleMenuItem("https://" + ServerConstants.getSecureHostNamePort() + "/login", "Certificate Login") {
+
+ @Override
+ public boolean isPermitted(User u) {
+ return u == null;
+ }
+ });
+ putPage("/", new MainPage("CAcert - Home"), null);
+ putPage("/roots", new RootCertPage(truststore), "CAcert.org");
+ 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(), "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(MyPoints.PATH, new MyPoints("My Points"), "CAcert Web of Trust");
+ putPage(RequestTTPPage.PATH, new RequestTTPPage(), "CAcert Web of Trust");
+ putPage(TTPAdminPage.PATH + "/*", new TTPAdminPage(), "Admin");
+ putPage(CreateOrgPage.DEFAULT_PATH, new CreateOrgPage(), "Organisation Admin");
+ putPage(ViewOrgPage.DEFAULT_PATH + "/*", new ViewOrgPage(), "Organisation Admin");
+ if (testing) {
+ try {
+ Class<?> manager = Class.forName("org.cacert.gigi.pages.Manager");
+ Page p = (Page) manager.getMethod("getInstance").invoke(null);
+ String pa = (String) manager.getField("PATH").get(null);
+ putPage(pa + "/*", p, "Gigi test server");
+ } catch (ReflectiveOperationException e) {
+ e.printStackTrace();
+ }
+ }
+
+ 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");
+ Menu about = new Menu("About CAcert.org");
+ categories.add(about);
+
+ about.addItem(new SimpleMenuItem("//blog.cacert.org/", "CAcert News"));
+ about.addItem(new SimpleMenuItem("//wiki.cacert.org/", "Wiki Documentation"));
+ putPage(PolicyIndex.DEFAULT_PATH, new PolicyIndex(), "About CAcert.org");
+ about.addItem(new SimpleMenuItem("//wiki.cacert.org/FAQ/Privileges", "Point System"));
+ about.addItem(new SimpleMenuItem("//bugs.cacert.org/", "Bug Database"));
+ about.addItem(new SimpleMenuItem("//wiki.cacert.org/Board", "CAcert Board"));
+ about.addItem(new SimpleMenuItem("//lists.cacert.org/wws", "Mailing Lists"));
+ about.addItem(new SimpleMenuItem("//blog.CAcert.org/feed", "RSS News Feed"));
+
+ Menu languages = new Menu("Translations");
+ for (Locale l : Language.getSupportedLocales()) {
+ languages.addItem(new SimpleMenuItem("?lang=" + l.toString(), l.getDisplayName(l)));
+ }
+ categories.add(languages);
+ for (Menu menu : categories) {
+ menu.prepare();
+ rootMenu.addItem(menu);
+ }
+
+ rootMenu.prepare();
+ firstInstanceInited = true;
+ }