1 package mircoders.servlet;
\r
3 import java.util.Map;
\r
5 import javax.servlet.http.HttpServletRequest;
\r
6 import javax.servlet.http.HttpServletResponse;
\r
8 import mir.log.LoggerWrapper;
\r
9 import mir.servlet.ServletModule;
\r
10 import mir.servlet.ServletModuleFailure;
\r
11 import mir.util.URLBuilder;
\r
12 import mir.util.HTTPRequestParser;
\r
13 import mircoders.global.*;
\r
15 public class ServletModuleAbuse extends ServletModule {
\r
16 private static ServletModuleAbuse instance = new ServletModuleAbuse();
\r
17 public static ServletModule getInstance() { return instance; }
\r
19 private ServletModuleAbuse() {
\r
20 logger = new LoggerWrapper("ServletModule.Abuse");
\r
21 defaultAction = "showsettings";
\r
24 public void editfilter(HttpServletRequest aRequest, HttpServletResponse aResponse) {
\r
25 HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);
\r
27 String type=requestParser.getParameterWithDefault("type", "");
\r
28 String id=requestParser.getParameterWithDefault("id", "");
\r
29 String expression=requestParser.getParameterWithDefault("expression", "");
\r
31 if (id.equals("")) {
\r
32 MirGlobal.abuse().addFilter(type, expression);
\r
35 MirGlobal.abuse().setFilter(id, type, expression);
\r
38 MirGlobal.abuse().save();
\r
40 showfilters(aRequest, aResponse);
\r
43 public void deletefilter(HttpServletRequest aRequest, HttpServletResponse aResponse) {
\r
44 HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);
\r
46 String id=requestParser.getParameterWithDefault("id", "");
\r
47 MirGlobal.abuse().deleteFilter(id);
\r
49 MirGlobal.abuse().save();
\r
51 showfilters(aRequest, aResponse);
\r
54 public void showfilters(HttpServletRequest aRequest, HttpServletResponse aResponse) {
\r
55 URLBuilder urlBuilder = new URLBuilder();
\r
58 Map responseData = ServletHelper.makeGenerationData(getLocale(aRequest));
\r
60 urlBuilder.setValue("module", "Abuse");
\r
61 urlBuilder.setValue("do", "showfilters");
\r
62 responseData.put("thisurl", urlBuilder.getQuery());
\r
64 responseData.put("filters", MirGlobal.abuse().getFilters());
\r
65 responseData.put("filtertypes", MirGlobal.abuse().getFilterTypes());
\r
67 ServletHelper.generateResponse(aResponse.getWriter(), responseData, "abuse.filters.template");
\r
69 catch (Throwable e) {
\r
70 throw new ServletModuleFailure(e);
\r
75 public void showsettings(HttpServletRequest aRequest, HttpServletResponse aResponse) {
\r
76 URLBuilder urlBuilder = new URLBuilder();
\r
79 Map responseData = ServletHelper.makeGenerationData(getLocale(aRequest));
\r
81 urlBuilder.setValue("module", "Abuse");
\r
82 urlBuilder.setValue("do", "showsettings");
\r
84 responseData.put("thisurl", urlBuilder.getQuery());
\r
86 responseData.put("articleactions", MirGlobal.abuse().getArticleActions());
\r
87 responseData.put("commentactions", MirGlobal.abuse().getCommentActions());
\r
89 responseData.put("disableop", new Boolean(MirGlobal.abuse().getOpenPostingDisabled()));
\r
90 responseData.put("passwordop", new Boolean(MirGlobal.abuse().getOpenPostingPassword()));
\r
91 responseData.put("logenabled", new Boolean(MirGlobal.abuse().getLogEnabled()));
\r
92 responseData.put("logsize", Integer.toString(MirGlobal.abuse().getLogSize()));
\r
93 responseData.put("usecookies", new Boolean(MirGlobal.abuse().getCookieOnBlock()));
\r
94 responseData.put("articleaction", MirGlobal.abuse().getArticleBlockAction());
\r
95 responseData.put("commentaction", MirGlobal.abuse().getCommentBlockAction());
\r
97 ServletHelper.generateResponse(aResponse.getWriter(), responseData, "abuse.template");
\r
99 catch (Throwable e) {
\r
100 throw new ServletModuleFailure(e);
\r
104 public void savesettings(HttpServletRequest aRequest, HttpServletResponse aResponse) {
\r
106 HTTPRequestParser parser = new HTTPRequestParser(aRequest);
\r
108 MirGlobal.abuse().setOpenPostingDisabled(parser.getParameterWithDefault("disableop", "").equals("1"));
\r
109 MirGlobal.abuse().setOpenPostingPassword(parser.getParameterWithDefault("passwordop", "").equals("1"));
\r
110 MirGlobal.abuse().setLogEnabled(parser.getParameterWithDefault("logenabled", "").equals("1"));
\r
113 MirGlobal.abuse().setLogSize(parser.getIntegerWithDefault("logsize", MirGlobal.abuse().getLogSize()));
\r
115 catch (Throwable t) {
\r
118 MirGlobal.abuse().setCookieOnBlock(parser.getParameterWithDefault("usecookies", "").equals("1"));
\r
120 MirGlobal.abuse().setArticleBlockAction(parser.getParameter("articleaction"));
\r
121 MirGlobal.abuse().setCommentBlockAction(parser.getParameter("commentaction"));
\r
123 MirGlobal.abuse().save();
\r
125 showsettings(aRequest, aResponse);
\r
127 catch (Throwable e) {
\r
128 throw new ServletModuleFailure(e);
\r
132 public void showlog(HttpServletRequest aRequest, HttpServletResponse aResponse) {
\r
133 URLBuilder urlBuilder = new URLBuilder();
\r
137 Map responseData = ServletHelper.makeGenerationData(getLocale(aRequest));
\r
138 urlBuilder.setValue("module", "Abuse");
\r
139 urlBuilder.setValue("do", "showlog");
\r
140 responseData.put("thisurl", urlBuilder.getQuery());
\r
142 responseData.put("log", MirGlobal.abuse().getLog());
\r
144 ServletHelper.generateResponse(aResponse.getWriter(), responseData, "abuse.log.template");
\r
146 catch (Throwable e) {
\r
147 throw new ServletModuleFailure(e);
\r