From: adam Date: Sat, 15 Apr 2006 05:48:51 +0000 (+0000) Subject: added subscribe/unsubscribe banner to servlet X-Git-Url: http://git.megacz.com/?p=org.ibex.mail.git;a=commitdiff_plain;h=6d6c6913900702af5bf83520ac3193964c97fd9c added subscribe/unsubscribe banner to servlet darcs-hash:20060415054851-5007d-81e3a674227290ea42300e3af4b061206cc4c6c4.gz --- diff --git a/src/org/ibex/mail/target/FileBasedMailbox.java b/src/org/ibex/mail/target/FileBasedMailbox.java index 0d7250f..e8a3d82 100644 --- a/src/org/ibex/mail/target/FileBasedMailbox.java +++ b/src/org/ibex/mail/target/FileBasedMailbox.java @@ -131,7 +131,7 @@ public class FileBasedMailbox extends Mailbox.Default { if (done()) return null; FileInputStream fis = null; try { - return new Headers(new Stream(new FileInputStream(file()))); + return new Headers.Original(new Stream(new FileInputStream(file()))); } catch (IOException e) { throw new MailException.IOException(e); } finally { if (fis != null) try { fis.close(); } catch (Exception e) { /* DELIBERATE */ } } } @@ -146,13 +146,14 @@ public class FileBasedMailbox extends Mailbox.Default { } public static class Servlet extends HttpServlet { - public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {doGet(request, response);} + public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { doGet(request, response); } private void frames(HttpServletRequest request, HttpServletResponse response, boolean top) throws IOException { String basename = request.getServletPath(); PrintWriter pw = new PrintWriter(response.getWriter()); pw.println(""); if (top) { - pw.println(" "); + pw.println(" "); + pw.println(" "); pw.println(" "); pw.println(" "); } else { @@ -171,6 +172,7 @@ public class FileBasedMailbox extends Mailbox.Default { if (frame == null) { frames(request, response, true); return; } if (frame.equals("top")) { frames(request, response, false); return; } + if (frame.equals("banner")) { banner(request, response); return; } if (frame.equals("topleft")) { return; } if (request.getServletPath().indexOf("..") != -1) throw new IOException(".. not allowed in image paths"); @@ -216,8 +218,17 @@ public class FileBasedMailbox extends Mailbox.Default { pw.println(" "); pw.println(" "); pw.println(""); + pw.flush(); + pw.close(); } + private void banner(HttpServletRequest request, HttpServletResponse response) throws IOException { + String basename = request.getServletPath(); + String realpath = getServletContext().getRealPath(basename); + MailingList list = MailingList.getMailingList(realpath); + list.banner(request, response); + } + private void topright(HttpServletRequest request, HttpServletResponse response, String[][] messages) throws IOException { PrintWriter pw = new PrintWriter(response.getWriter()); String basename = request.getServletPath(); @@ -269,6 +280,8 @@ public class FileBasedMailbox extends Mailbox.Default { pw.println(" "); pw.println(" "); pw.println(""); + pw.flush(); + pw.close(); } } }