]> WPIA git - gigi.git/commitdiff
ADD: First small stupid templateing
authorJanis Streib <janis@dogcraft.de>
Fri, 20 Jun 2014 18:36:01 +0000 (20:36 +0200)
committerFelix Dörre <felix@dogcraft.de>
Sat, 21 Jun 2014 14:37:06 +0000 (16:37 +0200)
src/org/cacert/gigi/Gigi.java
templates/base.html [new file with mode: 0644]

index 40d3bcb3d1f045a7acae24e5ddbb4295bf867e31..7c2d1c8f584e95acc7158fe22ea8148afd989560 100644 (file)
@@ -1,6 +1,10 @@
 package org.cacert.gigi;
 
 package org.cacert.gigi;
 
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.IOException;
+import java.io.InputStreamReader;
 import java.security.cert.X509Certificate;
 import java.util.HashMap;
 
 import java.security.cert.X509Certificate;
 import java.util.HashMap;
 
@@ -13,17 +17,31 @@ import javax.servlet.http.HttpSession;
 import org.cacert.gigi.pages.LoginPage;
 import org.cacert.gigi.pages.MainPage;
 import org.cacert.gigi.pages.Page;
 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;
 
 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"));
        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();
                super.init();
+
        }
 
        @Override
        }
 
        @Override
@@ -65,8 +83,12 @@ public class Gigi extends HttpServlet {
                        return;
                }
                if (pages.containsKey(req.getPathInfo())) {
                        return;
                }
                if (pages.containsKey(req.getPathInfo())) {
+                       String b0 = baseTemplate[0];
                        Page p = pages.get(req.getPathInfo());
                        Page p = pages.get(req.getPathInfo());
+                       b0 = b0.replaceAll("\\$title\\$", p.getTitle());
+                       resp.getWriter().print(b0);
                        p.doGet(req, resp);
                        p.doGet(req, resp);
+                       resp.getWriter().print(baseTemplate[1]);
                } else {
                        resp.sendError(404, "Page not found.");
                }
                } else {
                        resp.sendError(404, "Page not found.");
                }
diff --git a/templates/base.html b/templates/base.html
new file mode 100644 (file)
index 0000000..b2ce688
--- /dev/null
@@ -0,0 +1,117 @@
+<!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&amp;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&amp;lang=ar">العربية</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=bg">Български</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=cs">Čeština</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=da">Dansk</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=de">Deutsch</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=el">Ελληνικά</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=en">English</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=es">Español</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=fi">Suomi</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=fr">Français</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=hu">Magyar</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=it">Italiano</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=ja">日本語</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=lv">Latviešu</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=nl">Nederlands</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=pl">Polski</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=pt">Português</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=pt-br">Português
+                                                       Brasileiro</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=ru">Русский</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=sv">Svenska</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=tr">Türkçe</a></li>
+                                       <li><a href="/index.php?id=0&amp;lang=zh-cn">中文(简体)</a></li>
+                                       <li><a href="/index.php?id=0&amp;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