]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/error/PageNotFound.java
add: 403-page, custom 404-message
[gigi.git] / src / org / cacert / gigi / pages / error / PageNotFound.java
index 0033f2397c74f5894c1f90539ca93662095cc26c..ffc107f598e67ed7bca65bb7fb26e67219a2e581 100644 (file)
@@ -1,6 +1,7 @@
 package org.cacert.gigi.pages.error;
 
 import java.io.IOException;
+import java.util.HashMap;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -9,13 +10,26 @@ import org.cacert.gigi.pages.Page;
 
 public class PageNotFound extends Page {
 
-       public PageNotFound(String title) {
-               super(title);
-       }
+    public static final String MESSAGE_ATTRIBUTE = "message-Str";
 
-       @Override
-       public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
-               getDefaultTemplate().output(resp.getWriter(), Page.getLanguage(req), null);
-       }
+    public PageNotFound() {
+        super("File not found!");
+    }
+
+    @Override
+    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+        HashMap<String, Object> vars = new HashMap<>();
+        Object customMessage = req.getAttribute(MESSAGE_ATTRIBUTE);
+        if (customMessage == null) {
+            customMessage = getLanguage(req).getTranslation("Due to recent site changes bookmarks may no longer be valid, please update your bookmarks.");
+        }
+        vars.put("message", customMessage);
+        getDefaultTemplate().output(resp.getWriter(), Page.getLanguage(req), vars);
+    }
+
+    @Override
+    public boolean needsLogin() {
+        return false;
+    }
 
 }