import org.cacert.gigi.pages.LogoutPage;
import org.cacert.gigi.pages.MainPage;
import org.cacert.gigi.pages.Page;
+import org.cacert.gigi.pages.PolicyIndex;
import org.cacert.gigi.pages.RootCertPage;
import org.cacert.gigi.pages.StaticPage;
import org.cacert.gigi.pages.TestSecure;
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");
- for (Menu menu : categories) {
- menu.prepare();
- rootMenu.addItem(menu);
- }
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"));
- about.addItem(new SimpleMenuItem("/policy", "Policies"));
+ 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"));
- about.prepare();
- rootMenu.addItem(about);
+
+ for (Menu menu : categories) {
+ menu.prepare();
+ rootMenu.addItem(menu);
+ }
rootMenu.prepare();
firstInstanceInited = true;
--- /dev/null
+package org.cacert.gigi.pages;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class PolicyIndex extends Page {
+
+ public PolicyIndex() {
+ super("CAcert.org Policies");
+ }
+
+ File root = new File("static/www/policy");
+
+ public static final String DEFAULT_PATH = "/policy";
+
+ @Override
+ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ PrintWriter out = resp.getWriter();
+ out.println("<ul>");
+ for (File f : root.listFiles()) {
+ String name = f.getName();
+ if ( !name.endsWith(".html")) {
+ continue;
+ }
+ String display = name.replaceFirst("\\.html$", "");
+
+ out.print("<li><a href='");
+ out.print(name);
+ out.print("'>");
+ out.print(display);
+ out.println("</a></li>");
+ }
+ out.println("</ul>");
+ }
+
+ @Override
+ public boolean needsLogin() {
+ return false;
+ }
+
+}