package org.cacert.gigi;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
import java.io.IOException;
+import java.io.InputStreamReader;
import java.security.cert.X509Certificate;
import java.util.HashMap;
import org.cacert.gigi.pages.LoginPage;
import org.cacert.gigi.pages.MainPage;
import org.cacert.gigi.pages.Page;
+import org.eclipse.jetty.util.log.Log;
public class Gigi extends HttpServlet {
private static final long serialVersionUID = -6386785421902852904L;
-
+ private String[] baseTemplate;
private HashMap<String, Page> pages = new HashMap<String, Page>();
@Override
public void init() throws ServletException {
pages.put("/login", new LoginPage("CACert - Login"));
pages.put("/", new MainPage("CACert - Home"));
+ String templ = "";
+ try {
+ BufferedReader reader = new BufferedReader(new InputStreamReader(
+ new FileInputStream(new File("templates/base.html"))));
+ String tmp;
+ while ((tmp = reader.readLine()) != null) {
+ templ += tmp;
+ }
+ baseTemplate = templ.split("\\$content\\$");
+ } catch (Exception e) {
+ Log.getLogger(Gigi.class).warn("Error loading template!", e);
+ }
super.init();
+
}
@Override
return;
}
if (pages.containsKey(req.getPathInfo())) {
+ String b0 = baseTemplate[0];
Page p = pages.get(req.getPathInfo());
+ b0 = b0.replaceAll("\\$title\\$", p.getTitle());
+ resp.getWriter().print(b0);
p.doGet(req, resp);
+ resp.getWriter().print(baseTemplate[1]);
} else {
resp.sendError(404, "Page not found.");
}
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<title>$title$</title>
+<link rel="stylesheet" href="https://www.cacert.org/styles/default.css"
+ type="text/css">
+</head>
+<body>
+ <div id="pagecell1">
+ <div id="pageName">
+ <br>
+ <div id="pageLogo">
+ <a href="/"><img
+ src="https://www.cacert.org/images/cacert4.png"
+ alt="CAcert.org logo" border="0"></a>
+ </div>
+ <div id="googlead">
+ <h2>Kostenlose Digitale Zertifikate!</h2>
+ </div>
+ </div>
+ <div id="pageNav">
+ <div class="relatedLinks">
+ <h3>CAcert.org beitreten</h3>
+ <a href="https://www.cacert.org/index.php?id=1">Beitreten</a> <a
+ href="/policy/CAcertCommunityAgreement.php">Vereinbarung der
+ Gemeinschaft (Community Agreement)</a> <a href="/index.php?id=3">Stammzertifikat</a>
+ </div>
+ <div class="relatedLinks">
+ <h3 class="pointer">Mein Konto</h3>
+ <a href="https://www.cacert.org/index.php?id=4">Anmelden mit
+ Kennwort</a> <a href="https://www.cacert.org/index.php?id=5">Kennwort
+ vergessen</a> <a
+ href="https://www.cacert.org/index.php?id=4&noauto=1">Anmelden
+ im Net-Cafe</a> <a href="https://secure.cacert.org/index.php?id=4">Anmelden
+ mit Zertifikat</a>
+ </div>
+ <div class="relatedLinks">
+ <h3 class="pointer" onclick="explode('misc')">+ Über CAcert.org</h3>
+ <ul class="menu" id="misc" style="display: none;">
+ <li><a href="http://blog.cacert.org/">CAcert-Nachrichten</a></li>
+ <li><a href="http://wiki.CAcert.org/">Wiki-Dokumentation</a></li>
+ <li><a href="/policy/">Richtlinien</a></li>
+ <li><a href="//wiki.cacert.org/FAQ/Privileges">Punkte-System</a></li>
+ <li><a href="http://bugs.CAcert.org/">Fehler-Datenbank</a></li>
+ <li><a href="/stats.php">CAcert-Statistik</a></li>
+ <li><a href="http://blog.CAcert.org/feed/">RSS-Nachrichten-Feed</a></li>
+ <li><a href="//wiki.cacert.org/Board">CAcert-Vorstand</a></li>
+ <li><a href="https://lists.cacert.org/wws">Mailinglisten</a></li>
+ <li><a href="/src-lic.php">Quellcode</a></li>
+ </ul>
+ </div>
+
+ <div class="relatedLinks">
+ <h3 class="pointer" onclick="explode('trans')">+ Übersetzungen</h3>
+ <ul class="menu" id="trans" style="display: none;">
+ <li><a href="/index.php?id=0&lang=ar">العربية</a></li>
+ <li><a href="/index.php?id=0&lang=bg">Български</a></li>
+ <li><a href="/index.php?id=0&lang=cs">Čeština</a></li>
+ <li><a href="/index.php?id=0&lang=da">Dansk</a></li>
+ <li><a href="/index.php?id=0&lang=de">Deutsch</a></li>
+ <li><a href="/index.php?id=0&lang=el">Ελληνικά</a></li>
+ <li><a href="/index.php?id=0&lang=en">English</a></li>
+ <li><a href="/index.php?id=0&lang=es">Español</a></li>
+ <li><a href="/index.php?id=0&lang=fi">Suomi</a></li>
+ <li><a href="/index.php?id=0&lang=fr">Français</a></li>
+ <li><a href="/index.php?id=0&lang=hu">Magyar</a></li>
+ <li><a href="/index.php?id=0&lang=it">Italiano</a></li>
+ <li><a href="/index.php?id=0&lang=ja">日本語</a></li>
+ <li><a href="/index.php?id=0&lang=lv">Latviešu</a></li>
+ <li><a href="/index.php?id=0&lang=nl">Nederlands</a></li>
+ <li><a href="/index.php?id=0&lang=pl">Polski</a></li>
+ <li><a href="/index.php?id=0&lang=pt">Português</a></li>
+ <li><a href="/index.php?id=0&lang=pt-br">Português
+ Brasileiro</a></li>
+ <li><a href="/index.php?id=0&lang=ru">Русский</a></li>
+ <li><a href="/index.php?id=0&lang=sv">Svenska</a></li>
+ <li><a href="/index.php?id=0&lang=tr">Türkçe</a></li>
+ <li><a href="/index.php?id=0&lang=zh-cn">中文(简体)</a></li>
+ <li><a href="/index.php?id=0&lang=zh-tw">中文(臺灣)</a></li>
+ </ul>
+ </div>
+ <div class="relatedLinks">
+ <h3 class="pointer" onclick="explode('recom')">Werbung</h3>
+ <ul class="menu" id="recom"></ul>
+ </div>
+ </div>
+ <div id="content">
+ <h1>$title$</h1>
+ <div class="story">$content$</div>
+ </div>
+ <div class="sponsorinfo">
+ Der CAcert-Betrieb wird gesponsert von <a href="http://www.bit.nl/"
+ target="_blank"><img class="sponsorlogo"
+ src="https://www.cacert.org/images/bit.png" alt="[BIT logo]"
+ border="0"></a> <a href="http://www.tunix.nl/" target="_blank"><img
+ class="sponsorlogo" src="https://www.cacert.org/images/tunix.png"
+ alt="[TUNIX logo]" border="0"></a> <a href="http://www.nlnet.nl/"
+ target="_blank"><img class="sponsorlogo"
+ src="https://www.cacert.org/images/nlnet.png" alt="[NLnet logo]"
+ border="0"></a> <a href="http://www.openarchitecturenetwork.org/"
+ target="_blank"><img class="sponsorlogo"
+ src="https://www.cacert.org/images/oan.png" alt="[OAN logo]"
+ border="0"></a>
+ </div>
+
+ <div id="siteInfo">
+ <a href="//wiki.cacert.org/FAQ/AboutUs">Über uns</a> | <a
+ href="/index.php?id=13">Spenden</a> | <a
+ href="http://wiki.cacert.org/wiki/CAcertIncorporated">Vereins-Mitgliedschaft</a>
+ | <a href="/policy/PrivacyPolicy.html">Datenschutzrichtlinien</a> | <a
+ href="/index.php?id=51">Unsere Ziele</a> | <a
+ href="/index.php?id=11">Kontakt</a> | ©2002-2014 von CAcert
+ </div>
+ </div>
+ </div>
+</body>
+</html>
\ No newline at end of file